為了減少概念混淆,應該把=稱作(得到或賦值),==稱作(相等),===稱作(嚴格相等)
相同點:
它們兩個運算符都允許任意類型的的運算元,如果運算元相等,回傳true,否則回傳false
不同:
==:運算子稱作相等,用來偵測兩個運算元是否相等,這裡的相等定義的非常寬鬆,可以允許進行型別轉換
===:用來偵測兩個運算元是否嚴格相等
1、對於string,number等基礎型,==和===是有區別的
不同型別間比較,= =之比較「轉換成相同類型後的值」看「值」是否相等,===如果型別不同,其結果就是不等
同型態比較,直接進行「值」比較,兩者結果一樣
2.對於Array,Object等高階類型,==和===是沒有區別的
3、基礎類型與進階類型,==和===是有區別的
對於==,將高階轉換為基礎類型,進行「值」比較
因為類型不同,===結果為false
以上就是本文的全部內容,希望本文的內容對大家的學習或工作能帶來一定的幫助,同時也希望多多支援PHP中文網!
更多詳解js中==與===的區別相關文章請關注PHP中文網!