空數組轉換成布爾型問題


數據類型 轉換為true的值 轉換為false的值
Boolean true false
String 任何非空字符串 ""空字符串
Number 任何非0數字值(包括無窮大) 0和NaN
Object 任何對象 null
Undefined n/a undefined

數組屬於對象類型,所以空的數組轉換成布爾型是true

相同的是,空的對象轉換成布爾型也是true

1.

空數組[]和空對象{}都是object類型,因此直接用於if判斷條件時就會被轉化為true。

2.

任意值與布爾值比較,都會將兩邊的值轉化為Number。

注意:

如果將空數組[]與布爾值false比較,false轉化為0,而空數組[]也轉化為0,因此[] == false的判斷得到true。
如果將空對象{}與布爾值false比較,false轉化為0,而空對象{}轉化為NaN,由於NaN與任何數都不相等,因此{} == false的判斷得到false。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM