为什么 if ([].length) {console.log('true');} else console.log('false'), 得到 false?

时间:2021-01-10 18:35:34

标签: javascript

我刚刚看到一个js问题是:

结果是:

if ([]) {console.log(1);}  
if ([].length) {console.log(2);}  
if ({} === {}) {console.log(3);}  
if ('' == 0) {console.log(4);}

我用控制台试过了,它给了

1
4

为什么 [].length 给出错误?长度未定义?

1 个答案:

答案 0 :(得分:3)

空数组的长度是 0,这是 JavaScript 中的“假”值。

请参阅 MDN 以获取更多参考: