出典: フリー教科書『ウィキブックス(Wikibooks)』
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のあらゆる値は、暗黙的にブーリアン文脈で真偽値に変換可能です。これは型変換(型強制)の重要な特徴の一つです。
以下の値は偽(false)と評価されます:
false- 論理的な偽0- 数値のゼロ-0- マイナスゼロ0n- BigIntのゼロ""- 空文字列null- null値undefined- 未定義NaN- 非数値(Not a Number)
Falsyな値以外のすべての値は真(true)と評価されます。例えば:
- すべての非ゼロ数値
- 空でない文字列
- オブジェクト(空のオブジェクトや配列を含む)
- 関数
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キーワードを使用すると、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)
- 論理演算子
- 比較演算子