JavaScript で文字列をブール値に変換する方法

Kirill Ibrahim 2023年10月12日
  1. JavaScript でブール値(例:truefalse)を表す文字列をブール値に変換する
  2. 空の文字列をチェックするために、文字列をブール値に変換する
JavaScript で文字列をブール値に変換する方法

JavaScript には文字列をブール値に変換する方法がありますが、状況に応じて、言い換えれば、文字列をブール値に変換する目的に応じて、2つの異なるシナリオがありますので、以下で取り上げます。

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

空の文字列をチェックするために、文字列をブール値に変換する

変数をブール値に変換するには 2つの方法があります。1つ目はデュアル NOT 演算子(!!)によるもので、2つ目は (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 を返します。

最初のシナリオでは、これら 2つのメソッドを使用することには注意が必要です。

関連記事 - JavaScript String

関連記事 - JavaScript Boolean