如何在 JavaScript 中把一個字串轉換為布林值

Kirill Ibrahim 2023年10月12日
  1. 在 JavaScript 中把一個代表布林值的字串(例如,truefalse)轉換成布林值
  2. 將字串轉換為布林值來檢查空字串
如何在 JavaScript 中把一個字串轉換為布林值

JavaScript 有不同的方法將一個字串轉換為布林值,但這要看情況,或者說,要看你將字串轉換為布林值的目的,因為我們有兩種不同的情況,下面我們將介紹。

在 JavaScript 中把一個代表布林值的字串(例如,truefalse)轉換成布林值

第一個場景是將代表布林值的字串(例如,truefalseyesno01)轉換為一個固有型別。我們在特定的情況下使用這種方案,例如我們有 HTML 表單元素和一個隱藏的表單,它是基於使用者在檢查輸入或選擇輸入中的選擇而顯示的。

例子

<input type="checkbox" id="display_hidden_form1" name="display_hidden_form1" value="true">
<label for="display_hidden_form1"> Display hide form1</label><br>

<input type="checkbox" id="display_hidden_form2" name="display_hidden_form2" value="false">
<label for="display_hidden_form2"> Display hide form2</label><br>

<script>
    let myValue = document.getElementById("display_hidden_form1").value;
    let isTrueval = myValue === 'true';

    let myValue2 = document.getElementById("display_hidden_form2").value;
    let isTrueval2 = myValue2 === 'true';

    console.log({isTrueval, isTrueval2});
</script>

輸出:

{isTrueval: true, isTrueval2: false}

速記例子:輸出

const convertString = (word) =>{
    switch(word.toLowerCase().trim()){
        case "yes": case "true": case "1": return true;
        case "no": case "false": case "0": case null: return false;
        default: return Boolean(word);
    }
}
console.log(convertString("true"));
console.log(convertString("no"));
console.log(convertString("dasdasd"));

輸出:

true
false
true

將字串轉換為布林值來檢查空字串

有兩種方法可以將變數轉換為布林值. 首先是通過雙 NOT 運算子(!!),其次是通過型別轉換 (Boolean(value))

let myBool = Boolean('false');

let myBool2 = !!'false';

console.log({myBool, myBool2});

輸出:

{myBool: true, myBool2: true}

value 是一個變數。對於 nullundefined0000""false,它返回 false。對於字串和空格,它返回 true

在上面的例子中,"false"是一個字串,因此,Boolean("false") 返回 true

對於第一種情況,你可能應該謹慎使用這兩種方法,任何不是空字串的字串都會通過使用它們來評估為 true

相關文章 - JavaScript String

相關文章 - JavaScript Boolean