JavaScript/Boolean
Boolean オブジェクトは、JavaScriptにおける真理値を表現するプリミティブ型のラッパーオブジェクトです。論理的な真偽値の操作と型変換において重要な役割を果たします。
真理値の基本
真理値の定義
JavaScriptでは真理値はtrue
とfalse
の2つの値で表現されます。これらは論理的な判断や比較演算の基本的な結果を表します。
比較演算子による真理値
比較演算子は常に論理的な真偽を返します。
console.log(0 < 1); // true console.log(0 > 1); // false console.log(5 === 5); // true console.log(5 !== 5); // false
真理値の型変換
JavaScriptのあらゆる値は、暗黙的にブーリアン文脈で真偽値に変換可能です。これは型変換(型強制)の重要な特徴の一つです。
Falsy な値
以下の値は偽(false)と評価されます:
Truthy な値
Falsyな値以外のすべての値は真(true)と評価されます。例えば:
- すべての非ゼロ数値
- 空でない文字列
- オブジェクト(空のオブジェクトや配列を含む)
- 関数
Boolean オブジェクト
コンストラクタと型変換
Booleanには2つの使用方法があります:
- 型変換関数として
const boolFromString = Boolean("abc"); // true const boolFromNumber = Boolean(0); // false console.log(typeof boolFromString); // "boolean"
- ダブル否定演算子による簡潔な変換
const boolByNegation = !!"abc"; // true const boolByNegation2 = !!0; // false
new 演算子による生成
new
キーワードを使用すると、Booleanオブジェクトインスタンスが生成されます:
const boolObj = new Boolean(true); console.log(typeof boolObj); // "object" console.log(boolObj.valueOf()); // true
ブーリアンコンテキスト
ブーリアンコンテキストとは、値が論理的な真偽に変換される環境を指します。典型的な例:
型変換の例
値 | Boolean変換 | typeof |
---|---|---|
undefined | false | boolean |
null | false | boolean |
false | false | boolean |
true | true | boolean |
0 | false | boolean |
1 | true | boolean |
"" | false | boolean |
"1" | true | boolean |
[] | true | boolean |
[2] | true | boolean |
注意点と推奨事項
- 可能な限り明示的な型変換を使用する
- オブジェクト生成よりもプリミティブ型の使用を推奨
- 比較時は厳密等価演算子
===
を使用する
関連概念
- 型強制(Type Coercion)
- 論理演算子
- 比較演算子