JavaScript自动转换为布尔值【非常重要,和Python有很大的区别】
当JavaScript遇到预期为布尔值的地方(比如if
语句的条件部分),就会将非布尔值的参数自动转换为布尔值。系统内部会自动调用Boolean
函数。
因此除了以下六个值,其他都是自动转为true【空数组[]和空对象{}的布尔类型都是true】
undefined
null
-0
0
或+0
NaN
''
(空字符串)
console.log(Boolean([])); // true
console.log(Boolean({})); // true