JavaScript比較中應使用哪個等號運算符? == vs ===

您可以使用兩個不同的運算符來檢查對像是否相等。他們是=====。使用哪一個?

在JavaScript中,您可以使用兩個不同的運算符來檢查對像是否相等。他們是=====

他們基本上做相同的事情,但是兩者之間有很大的不同。

===將檢查兩個值是否相等。如果它們是對象,則這些對象必須具有相同的類型。如您所知,JavaScript不是類型化的,但是您必須了解一些基本類型。

特別是,我們有值類型(布爾,空,未定義,字符串和數字)和引用類型(數組,對象,函數)。

如果兩個值的類型不同,===將返回false。

如果它們是同一類型,JavaScript將檢查是否相等。

參考類型,這意味著這些值需要引用相同的對象/數組/函數。沒有一個具有相同的值:相同的一個。

==有所不同,因為它將嘗試將類型轉換為匹配。

這就是為什麼您得到類似的結果的原因

false == '0'  //true
false === '0' //false
null == undefined //true
null === undefined  //false

根據我的經驗,在97%的情況下,您都希望使用===, 除非==提供恰好您想要的。它具有較少的缺點和邊緣情況。

同樣的道理!=!==,它們執行相同的操作,但被否定。

始終默認為!==

免費下載我的JavaScript初學者手冊


更多js教程: