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)と評価されます:
false- 論理的な偽0- 数値のゼロ-0- マイナスゼロ0n- BigIntのゼロ""- 空文字列null- null値undefined- 未定義NaN- 非数値(Not a Number)
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)
- 論理演算子
- 比較演算子