請說明 JavaScript 中 "==" 和 "===" 運算子的主要區別?
"==" 和 "===" 之間的區別在於,前者只檢查值,而後者檢查值和資料型別(字串、布林值等)。以下示例說明了無論資料型別如何,分配的值是否相等。
a) "==" 運算子(檢查相等性)
示例
<html> <body> <p id="strict"></p> <script> var x = 5; var y = 5; var z = 6; document.getElementById("strict").innerHTML = (x == y) + "<br>" + (x == z); </script> </body> </html>
輸出
true false
b) "===" 運算子(檢查嚴格相等性)
"===" 運算子僅當值和資料型別都相等時才返回 true。否則返回 false。在以下示例中,每個變數 (x、y、z) 都分配了值 5,但其中一些被賦予了字串資料型別(變數 y 和 z)。當我們使用嚴格相等比較 x 和 y 時,得到 false,因為變數 y 被分配了字串資料型別,而變數 x 則沒有。
示例
<html> <body> <p id="strict"></p> <script> var x = 5; var y = "5"; var z = "5"; document.getElementById("strict").innerHTML = (x === y) + "<br>" + (x == z); </script> </body> </html>
輸出
false true
廣告