如何在JavaScript中將字串轉換為布林值?
本教程將教你如何在JavaScript中將字串轉換為布林值。假設在開發應用程式時,我們將布林值以字串格式儲存在資料庫或本地儲存中。現在,基於儲存的字串值,我們希望將其轉換為布林值併為應用程式使用者執行特定操作;問題是,我們如何將字串轉換為布林值?
解決上述問題可能有許多方法。在本教程中,我們將學習一些有用的方法。
- 使用比較運算子(==)和三元運算子(? :)
- 使用Boolean類
- 使用雙重否定(!!)運算子
使用比較運算子(==)和三元運算子(? :)
將字串轉換為布林值最簡單的方法之一是使用比較('==')運算子和三元(? :)運算子。但是,使用者也可以只使用比較運算子。
語法
string_var == 'true' ? true : false; string_var == 'false' ? false : true; string_var.toLowerCase() == 'true' ? true : false; //case sensitive approach
比較運算子根據`string_var`與'true'或'false'值的比較結果返回true和false值。三元運算子根據比較條件的真假返回第一個或第二個值。
引數
- string_var − 可以是任何要轉換為布林值的字串。
示例1
在下面的示例中,我們使用比較運算子和三元運算子將字串(let string_var = "True")轉換為布林值。
<html>
<head>
<title> Convert String to boolean </title>
</head>
<body>
<h2>Converting String to boolean in JavaScript.</h2>
<h4> String after converting to boolean. </h4>
<p id="contentDiv"></p>
<script type="text/javascript">
// function to convert string to boolean
function stringToBoolean() {
let string_var = "True";
let boolean_Value = string_var.toLowerCase() == 'true' ? true : false;
contentDiv.innerHTML = "The value of <i> boolean_Value </i> is " + boolean_Value + ". The data type of boolean_Value variable is " + typeof boolean_Value;
}
stringToBoolean();
</script>
</body>
</html>在輸出中,使用者可以看到`boolean_Value`變數的資料型別是布林值,這意味著我們的字串已成功轉換為布林值。
使用Boolean類
在JavaScript中,Boolean類接受字串或任何值作為引數,並根據其真值返回布林值。JavaScript中有六個假值,Boolean類除了這六個假值外,對所有字串值都返回true。
六個假值如下所示。
- false
- 0
- NaN
- "" //空字串
- null
- undefined
使用者可以按照以下語法使用Boolean類。
語法
let bool1 = Boolean(string);
引數
string − 可以新增任何要轉換為布林值的字串值作為字串引數。
示例2
在下面的示例中,我們使用Boolean類將字串轉換為布林值。我們將"False"和""轉換為布林值。
<!DOCTYPE html>
<html>
<head>
<title> Convert String to boolean. </title>
</head>
<body>
<h2>Converting String to boolean in JavaScript.</h2>
<h4> String after converting to boolean. </h4>
<p id="contentDiv"></p>
<script type="text/javascript">
// function to convert string to boolean
function stringToBoolean() {
let bool1 = Boolean("false");
let bool2 = Boolean("");
contentDiv.innerHTML = " <p> The value of <i> bool1 </i> is " + bool1 + ".</p><p> The value of <i> bool2 </i> is " + bool2 + ".</p> <p> The data type of bool1 variable is " + typeof bool1 + " </p> ";
}
stringToBoolean();
</script>
</body>
</html>在輸出中,`bool1`變數的值為true,因為“false”不是空字串。Boolean類只對六個假值返回false。請注意以下區別:
Boolean(false); //false
Boolean("false"); //true使用雙重否定(!!)運算子
當我們將非(!)運算子應用於任何字串值時,它除了空字串(因為它是JavaScript中的假值)外,對所有字串都返回false。應用雙重非(!!)運算子會轉換我們從單一非運算子獲得的值。
但是,單一非運算子也會將字串轉換為布林值,返回相反的值。因此,我們需要應用雙重非運算子才能獲得正確的值。
語法
let bool = !!string_val
引數
string_val − 使用者可以向此運算元新增任何字串以將其轉換為布林值。
示例3
<!DOCTYPE html>
<html>
<head>
<title> Convert String to boolean.</title>
</head>
<body>
<h2>Converting String to boolean in JavaScript.</h2>
<h4> String after converting to boolean. </h4>
<p id="contentDiv"></p>
<script type="text/javascript">
// function to convert string to boolean
function stringToBoolean() {
let string_var = "tutorialsPoint";
let singleNotBool = !string_var; // false value
let doubleNotBool = !!string_var; // true value
contentDiv.innerHTML = "<p> The value of <i> singleNotBool </i> is " + singleNotBool + ".</p> <p> The value of <i> doubleNotBool </i> is " + doubleNotBool + ".</p> <p> The data type of doubleNotBool variable is " + typeof doubleNotBool + "</p>";
}
stringToBoolean();
</script>
</body>
</html>在輸出中,使用者可以觀察到,當我們將單一非運算子應用於非空字串時,它返回false,如果我們使用雙重非運算子,則它返回true值。
結論
在本教程中,我們學習了三種不同的將字串轉換為布林值的方法。第一種方法使用比較和三元運算子是解決我們問題的最直接方法。第三種方法對於初學者來說可能比較混亂。因此,他們可以選擇第一種和第二種方法。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP