JavaScript/Booleanとboolean

Booleanとboolean

JavaScriptにおいて、Booleanboolean は異なる概念を指します。それぞれの特徴や違いについて説明します。

boolean (プリミティブ型)

boolean は、JavaScriptのプリミティブ型の1つで、true または false のいずれかの値を持ちます。これは真偽値を表現するために使用されます。

特徴

  • プリミティブ型で、値は true または false
  • メモリ効率が良く、計算や比較に適している。
  • リテラルとして使用する。

使用例

const isTrue = true;   // プリミティブ型の boolean
const isFalse = false; // プリミティブ型の boolean

console.log(typeof isTrue); // "boolean"

Boolean (オブジェクト型)

Boolean は、JavaScriptのラッパーオブジェクト型であり、boolean の値をオブジェクトとしてラップします。

特徴

  • オブジェクト型であり、new キーワードを使用してインスタンス化する。
  • 条件式での挙動が boolean とは異なる場合がある。
  • 通常は使用が推奨されない。

使用例

const boolObject = new Boolean(true); // オブジェクト型の Boolean

console.log(typeof boolObject); // "object"
console.log(boolObject instanceof Boolean); // true

booleanとBooleanの違い

booleanとBooleanの主な違い
特性booleanBoolean
プリミティブ型オブジェクト型
true または falseBoolean オブジェクト
メモリ効率高い低い
typeof の結果"boolean""object"
推奨される使用方法通常の真偽値操作に使用特殊なケース以外非推奨

注意点

  • Boolean オブジェクトは条件式では常に「真」と評価されます。オブジェクトは常にtruthyであるためです。
const falseObject = new Boolean(false);

if (falseObject) {
    console.log("このコードが実行されます"); // 実行される
}

console.log(falseObject == false); // true
console.log(falseObject === false); // false
  • Boolean コンストラクタを使用して明示的に型変換が可能です。
console.log(Boolean(0));      // false
console.log(Boolean(""));     // false
console.log(Boolean(1));      // true
console.log(Boolean("hello"));// true

まとめ

  • 通常は boolean プリミティブ型を使用することを推奨。
  • Boolean オブジェクトは特定のケース以外では非推奨。
カテゴリ:JavaScript
カテゴリ:JavaScript