簡要說明 JavaScript == 與 === 運算子

比較兩個運算元是否相等的運算子有 == 與 === ,一般的相等性比較使用 ==
即可,如果是嚴格的相等性比較則使用 === 。考慮以下的運算式:

var a = 0 ;
var b = false ;

由於 false 轉換為數值是 0 ,因此a與b進行不嚴格的相等性比較時,會得到相等的結果,不過兩個值實際上並不相同,因此若是進行嚴格檢查時,回傳的結果將是否定的。

a == b ;   //相等因此回傳 true
a === b ;  //不相等因此回傳 flase 

當兩個運算元是不同型別,則此兩運算元無法通過嚴格比較,因此 === 運算子一定會回傳 false ,而 == 則不一定,如果經過型態轉換之後,兩個運算元具有相同的值,則還是會相等,如下式:

console.log('123' == 123);       //相等的值因此回傳 true
console.log('123' === 123);    //不相同的型別因此回傳 false

沒有留言: