js关于空数组和Boolean值比较的有关问题
js关于空数组和Boolean值比较的问题
遇到一个很奇怪的问题:
空数组转换为布尔值明明是true,但为什么用空数组与布尔值比较时空数组又变成了false;
然后再测试下发现,问题应该就出在当空数组与布尔值比较时空数组的类型转换上:
空数组转换为数字时值为0,而数组与布尔值进行比较时js引擎会将双方都转换为数字再进行比较(非空数组转换为数字为NaN);
所以:
[]==false就相当于0==0