JavaScript空数组和空对象的布尔值

2,478 阅读1分钟

1、Boolean类型转换,空数组和空对象都对应布尔值true

Boolean([]); // true
Boolean({}); // true

2、Number类型转换,空数组得到0,空对象得到NaN

Number([]); // 0
Number({}); // NaN
[] + 0; // 0
{} + 0; // NaN

3、使用if判断,if后面的判断条件预期是布尔值,空数组和空对象都对应布尔值true

console.log([] ? true : false); // true
console.log({} ? true : false); // true

4、与布尔值比较,任何值与布尔值进行比较时,两边都会进行数值转换,空数组对应0,空对象对应NaN

console.log([] == false); // true
console.log({} == false); // false