js中"==0 为true?
在javascript中,双等号 ==
比较不同类型的值时,会先转换,再比较其内容, ''
转换为false
,false
会转换成0
,0
等于0
,故为true
。
(在JavaScript中,非 0
都为 true
,非空都为 true
,"
是空,所以为 false
)
"==0 //true " 转为false
true == 1 //true true 转为 1
在javascript中,三等号===
比较不同值类型会直接返回false
,否则才会比较值。
非严格模式下
0 、空字符串和false
归为一类,称为"假值"
0 == " == false //都为true
null和undefined归为一类,称为"空值"
null ==undefined //true
null ==0 //false
扩展
null==0为false而null>=0为true
null > 0 // null 尝试转型为number , 转为0 . 故为 false,
null >= 0 // null 尝试转为number 转为0 , 故为 true.