数组属于对象类型,所以空的数组转换成布尔型是true
相同的是,空的对象转换成布尔型也是true
1.空数组[]和空对象{}都是object类型,因此直接用于if判断条件时就会被转化为true。
2.任意值与布尔值比较,都会将两边的值转化为Number。
3.如果将空数组[ ]与布尔值false比较,false转化为0,而空数组[ ]也转化为0,因此[ ] == false的判断得到true。
4.如果将空对象{}与布尔值false比较,false转化为0,而空对象{}转化为NaN,由于NaN与任何数都不相等,因此{} == false的判断得到false。