請說明 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

更新於: 2019-07-30

119 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告