昨天寫導出功能時,有個條件審核狀態,其中一個審核狀態的key為0,我也是醉了。
然后我注意到這方面的問題,在網上找了找,我的理解可能有點問題。但是目前也就是這樣了,以后在學習吧!
正文:
js中各種類型都是有個默認空值的,這個空值轉成boolean類型的時候就是false
null、undefined、0、"" 這些數值都是其對應數據類型上的無效值或空值。還有這五個值作!運算,結果全為:true。
還有如果是json請求傳值的話,就是說如果轉成string類型的話:
1 String(undefined) -> "undefined"
2 String(null) -> "null"
3 String("") -> ""
4 String(0) -> "0"
5 String(false) -> "false"
這個轉換關系在做字符串累加時需要特別的注意。
相等運算符 (==、!=)
如果兩表達式的類型不同,則試圖將它們轉換為字符串、數字或 Boolean 量。
NaN 與包括其本身在內的任何值都不相等。
負零等於正零。
null 與 null 和 undefined 相等。
相同的字符串、數值上相等的數字、相同的對象、相同的 Boolean 值或者(當類型不同時)能被強制轉化為上述情況之一,均被認為是相等的。
其他比較均被認為是不相等的。
恆等運算符 (===、!==)
除了不進行類型轉換,並且類型必須相同以外,這些運算符與相等運算符的作用是一樣的。這個也就是說如果類型不一致。就算是1==="1"都是false