为什么空的 JavaScript 数组在条件结构中计算为 true?
2022-08-30 02:34:07
我在代码中遇到了很多错误,因为我期望这个表达式:
Boolean([]);
以评估为假。
但事实并非如此,因为它评估为真。
因此,可能返回如下的函数:[]
// Where myCollection possibly returned [ obj1, obj2, obj3] or []
if(myCollection)
{
// ...
}else
{
// ...
}
没有做预期的事情。
我是否错误地假设这是一个空数组?[]
另外,此行为在所有浏览器中是否一致?还是那里也有什么陷阱?顺便说一句,我在Goolgle Chrome中观察到了这种行为。