首页 > 解决方案 > 为什么 if ([].length) {console.log('true');} else console.log('false') 会为假?

问题描述

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

结果是什么:

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

我试过控制台,它给了

1
4

为什么[].length给假?长度未定义吗?

标签: javascript

解决方案


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

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


推荐阅读