JavaScript/Boolean


Boolean オブジェクトは、JavaScriptにおける真理値を表現するプリミティブ型のラッパーオブジェクトです。論理的な真偽値の操作と型変換において重要な役割を果たします。

真理値の基本

編集

真理値の定義

編集

JavaScriptでは真理値はtruefalseの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つの使用方法があります:

  1. 型変換関数として
    const boolFromString = Boolean("abc");     // true
    const boolFromNumber = Boolean(0);         // false
    console.log(typeof boolFromString);        // "boolean"
    
  2. ダブル否定演算子による簡潔な変換
    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

ブーリアンコンテキスト

編集

ブーリアンコンテキストとは、値が論理的な真偽に変換される環境を指します。典型的な例:

  • if 文の条件式
  • 論理演算子 &&||!
  • 三項演算子 ?:
  • while ループの条件
  • for ループの条件

型変換の例

編集
ブーリアンコンテキストと暗黙の型変換
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)
  • 論理演算子
  • 比較演算子

下位階層のページ

編集

脚註

編集