コンテンツにスキップ

JavaScript/Booleanとboolean

出典: フリー教科書『ウィキブックス(Wikibooks)』

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の主な違い
特性 boolean Boolean
プリミティブ型 オブジェクト型
true または false Boolean オブジェクト
メモリ効率 高い 低い
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 オブジェクトは特定のケース以外では非推奨。