js中布尔值为false的六种情况
下面6种值转化为布尔值时为false,其他转化都为true 1、undefined(未定义,找不到值时出现) 2、null(代表空值) 3、false(布尔值的false,字符串"false"布尔值为true) 4、0(数字0,字符串"0"布尔值为true) 5、NaN(无法计算结果时出现,表示"非数值";但是typeof NaN==="number") 6、""(双引号)或''(单引号) ( 空字符串,中间有空格时也是true ) 注意空数组空对象,负值转的布尔值时都为true 不同数据类型转化为布尔值的结果 数据类型 转为true的值 转为false的值 Boolean true false String 任何非空字符串 ''(空字符串) Number 任何非零数字值(包括无穷大) 0和NaN Object 任何对象 null Undefined n/a undefined 对于0, '', null, undefined, NaN,{}, [], Infinity求布尔值,分别是false false false false false true true true. 因此我们知道的一点是:对象的布尔值是true,即使是对象{}。 "!!"将表达式进行强制转化为bool值的运算,运算结果为true或者false。 例如 array=[1,2,3] array.num