if(xx) 的判斷
對(duì)于括號(hào)里的表達(dá)式,會(huì)被強(qiáng)制轉(zhuǎn)換為布爾類型
數(shù)據(jù)類型 |
轉(zhuǎn)換結(jié)果 |
Undefined |
false |
Null |
false |
Boolean |
直接判斷 |
Number |
+0沙郭、?0罩句、NaN 為 false, 其他 true |
String |
空字符串為 false,其他 true |
Object |
true |
a=b 的判斷
a |
b |
結(jié)果 |
null |
undefined |
true (=== //false) |
Number |
String |
a == toNumber(b) |
Boolean |
(any) |
toNumber(a) == b |
Object |
String or Number |
toPrimitive(a) == b |
NaN |
NaN |
true |
toNumber
類型 |
結(jié)果 |
Undefined |
NaN |
Null |
0 |
Boolean |
ture → 1, false → 0 |
String |
“abc” → NaN, “123” → 123 |
toPrimitive
對(duì)于 Object:先嘗試調(diào)用 .valueOf 方法獲取結(jié)果;如果沒(méi)定義驶冒,再嘗試調(diào)用 .toString方法獲取結(jié)果苟翻。
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者