JavaScript で文字列をブール値に変換する方法
Kirill Ibrahim
2023年10月12日
JavaScript には文字列をブール値に変換する方法がありますが、状況に応じて、言い換えれば、文字列をブール値に変換する目的に応じて、2つの異なるシナリオがありますので、以下で取り上げます。
JavaScript でブール値(例:true
、false
)を表す文字列をブール値に変換する
最初のシナリオは、ブール値を表す文字列(例:true
、false
、yes
、no
、0
、1
)を本質的な型に変換することです。このシナリオは特定のケースで使用します。例えば、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
は変数です。null
、undefined
、0
、000
、""
、false
に対しては false
を返します。文字列と空白文字に対しては true
を返します。
上の例では、"false"
は文字列なので、Boolean("false")
は true
を返します。
最初のシナリオでは、これら 2つのメソッドを使用することには注意が必要です。
関連記事 - JavaScript String
- JavaScript で文字列の最後の文字を取得する
- JavaScript で文字列を日付に変換する
- JavaScript の文字列から最初の文字を取得する
- JavaScript で配列を文字列に変換する
- JavaScript で文字列の同等性を確認する
- JavaScript で空白を削除する