天天看點

JavaScript中的=,==,===的差別

JavaScript中的=,==,===的差別

檢查兩個值的相等:a == b,請注意雙等号 == 表示相等性檢查

而單等号 a = b 表示指派

普通的相等性檢查 == 存在一個問題,它不能區分出 0 和 false:

alert( 0 == false ); // true

也同樣無法區分空字元串和 false:

alert( ‘’ == false ); // true

這是因為在比較不同類型的值時,處于相等判斷符号 == 兩側的值會先被轉化為數字。空字元串和 false 也是如此,轉化後它們都為數字 0。

如果我們需要區分 0 和 false,該怎麼辦?

嚴格相等運算符 === 在進行比較時不會做任何的類型轉換

alert( 0 === false ); // false,因為被比較值的資料類型不同

資料來源

繼續閱讀