如何在 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" // 返回 false 值 false === "" // 返回 false 值
尝试以下代码片段-
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。所以,这并不意味着可以在任何地方使用。此外,在极少数情况下我们需要比较字符串和布尔值,在这种情况下,用户可以使用相等运算符。