學習 JavaScript 等號運算子的基礎知識
這些運算子接受兩個值並返回布林值:
==
檢查是否相等!=
檢查是否不相等===
檢查是否嚴格相等!==
檢查是否嚴格不相等
現在來談談我們所謂的“嚴格”。在非嚴格檢查中,第二個運算元在進行比較之前會被轉換為第一個運算元的類型。嚴格模式則會阻止這種轉換。
舉例如下:
const a = true
a == true // true
a === true // true
1 == 1 // true
1 == '1' // true
1 === 1 // true
1 === '1' // false
無法檢查對象的相等性:兩個對象永遠不相等。唯一可能為真的情況是兩個變量引用了同一個對象。
還有一些需要注意的特殊情況:NaN
始終與 NaN
不相等。
NaN == NaN // false
在非嚴格模式下,null
和 undefined
的值是相等的:
null == undefined // true
null === undefined // false