参见英文答案 >
Empty arrays seem to equal true and false at the same time5个
这返回true:
这返回true:
[] == false
但在这里,警报叫:
if([]){ alert('empty array is true here'); }
你能解释一下为什么吗
解决方法
这是因为==在JS强制转换,如果一个类型可以转换为另一个返回值是true,这里因为[]不能更改或与bool进行比较它是假的,如果([])检查null和未定义值,因为[]既不为null,也不是未定义,它返回true
检查这个
Which equals operator (== vs ===) should be used in JavaScript comparisons?