js中的“==”隱式轉換規則


1.對象和布爾值進行比較時,對象先轉換為字符串,然后再轉換為數字,布爾值直接轉換為數字

[] == false

結果是true,[]轉換為字符串'',然后再轉換為數字0,false轉換為數字0

2.對象和字符串進行比較時,對象轉換為字符串,然后兩者進行比較

[1,2,3] == '1,2,3'

結果是true [1,2,3] 轉化為 '1,2,3'

3.對象和數字比較時,對象轉化為字符串,然后轉換為數字,再和數字進行比較

[1] == 1

結果為true,[1]轉換為'1'再轉換為1

4.字符串和數字比較時,字符串轉換為數字

'1' == 1

5.字符串和布爾值進行比較時,二者全部轉換成數值再比較

'1' == true

6.布爾值和數字進行比較時,布爾轉換為數字

true == 1

轉換關系圖

 

特殊比較

undefined == null //true undefined和null 比較返回true,二者和其他值比較返回false
Number(null) //0

 轉載:https://www.cnblogs.com/chenmeng0818/p/5954215.html


免責聲明!

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



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