如何在JavaScript中比較字串和布林值?


在本教程中,我們將學習如何比較JavaScript中的字串和布林值。JavaScript具有一個相等運算子來比較一個值與另一個值。

JavaScript中有兩種型別的相等運算子;一種是**相等運算子**(==),另一種是**嚴格相等運算子**(===)。兩者之間的區別在於它們比較運算元的方式不同。

**相等運算子**只比較兩個運算元的值,並返回布林值。

**嚴格相等運算子**首先比較兩個運算元的值,如果值匹配,則比較兩個運算元的資料型別。這樣,如果兩個運算元的值和資料型別都相等,則嚴格相等運算子返回true。否則,它返回false值。

在本教程中,我們將使用*相等運算子*和*嚴格相等運算子*來比較字串值和布林值。

True和False的實際值

在繼續本教程之前,我們應該瞭解布林值**true**和**false**的值。true的實際值是**1**,false的值是0或**空字串**""。

true == 1;
false == 0;
false == "";

現在,使用者可以理解下面方法示例的輸出了。

使用相等運算子(==)

我們將在這個方法中使用相等運算子來比較字串和布林值。使用相等運算子並不難,因為它是在JavaScript的第一個版本中引入的,大多數人都熟悉它。

語法

使用者可以遵循以下語法使用相等運算子來比較字串和布林值。

false == "0"; //true
true == "1"; //true
false == ""; //true
false == "false"; //false
true == "true"; //false

示例

在下面的示例中,我們取了不同的字串值來與true和false布林值進行比較,並觀察了結果。

<html>
<head>
   <title> Comparing the string to Boolean.</title>
</head>
<body>
   <h2>Comparing the string to Boolean.</h2>
   <h4>Compare true with "1" string value:</h4>
   <p id="result1"></p>
   <h4>Compare false with "0" string value:</h4>
   <p id="result2"></p>
   <h4>Compare true with "hello" string value:</h4>
   <p id="result3"></p>
   <h4>Compare false with "hello" string value:</h4>
   <p id="result4"></p>
   <script>
      let result1 = document.getElementById("result1");
      let result2 = document.getElementById("result2");
      let result3 = document.getElementById("result3");
      let result4 = document.getElementById("result4");
      let booleanValue = true == "1";
      result1.innerHTML = booleanValue; // prints true
      booleanValue = false == "0";
      result2.innerHTML = booleanValue; // prints true
      booleanValue = true == "hello";
      result3.innerHTML = booleanValue; // prints false
      booleanValue = false == "hello";
      result4.innerHTML = booleanValue // prints false
   </script>
</body>
</html>

在上面的輸出中,使用者可以看到,當我們將true與“1”比較,將false與“0”比較時,它返回true布林值。這是因為true的實際值是1,false的值是0。

使用嚴格相等運算子(===)

在這個方法中,我們將使用嚴格相等運算子來比較字串和布林值。當我們比較字串和布林值時,嚴格相等始終返回false,因為它也檢查兩個運算元的資料型別。

語法

使用者可以遵循以下語法使用嚴格相等運算子和字串與布林值運算元。

true === "1" // returns false value
false === "" // returns false value

嘗試以下程式碼片段:

var data = true;
data === "true" //false
String(data) === "true" //true

示例

在這個例子中,我們將觀察使用嚴格相等運算子將字串與布林值匹配時的輸出。

<html>
<head>
   <title>Comparing the string to Boolean.</title>
</head>
<body>
   <h2>Comparing the string to Boolean.</h2>
   <h4>Compare true with "1" string value using strict equality operator:</h4>
   <p id="result1"></p>
   <h4> Compare false with "0" string value using strict equality operator:</h4>
   <p id="result2"></p>
   <h4>Compare true with "123" string value using strict equality operator:</h4>
   <p id="result3"></p>
   <script>
      let result1 = document.getElementById("result1");
      let result2 = document.getElementById("result2");
      let result3 = document.getElementById("result3");
      let booleanValue = true === "1";
      result1.innerHTML = booleanValue; // prints false
      booleanValue = false === "0";
      result2.innerHTML = booleanValue; // prints false
      booleanValue = true === "123";
      result3.innerHTML = booleanValue; // prints false
   </script>
</body>
</html>

在上面的輸出中,使用者可以看到,與之不同的是,它對所有字串和布林值的比較都返回false。

結論

當用戶使用嚴格相等運算子來比較字串和布林值時,它總是返回false。所以,它不意味著在任何地方使用。而且,很少有情況需要我們比較字串和布林值,使用者在這種情況下可以使用相等運算子。

更新於:2022年7月20日

4K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始
廣告