Javascript 为什么([].length){console.log(';true';)}else-console.log(';false';)变为false?

Javascript 为什么([].length){console.log(';true';)}else-console.log(';false';)变为false?,javascript,Javascript,我刚才看到一个js问题,它是: 结果是什么: if([]){console.log(1);} if([].length){console.log(2);} 如果({}=={}{console.log(3);} 如果(''==0){console.log(4);} 我试着用控制台,它给了我一个机会 1 4 为什么[]长度给出false?长度是否未定义?空数组的长度为0,这是JavaScript中的“falsy”值 更多参考请参见MDN: 0是错误的。什么是困惑?这回答了你的问题吗?[]长

我刚才看到一个js问题,它是:

结果是什么:

if([]){console.log(1);}
if([].length){console.log(2);}
如果({}=={}{console.log(3);}
如果(''==0){console.log(4);}
我试着用控制台,它给了我一个机会

1
4

为什么
[]长度
给出false?长度是否未定义?

空数组的长度为
0
,这是JavaScript中的“falsy”值

更多参考请参见MDN:


0
是错误的。什么是困惑?这回答了你的问题吗?[]长度返回值0在javascript中计算为false