コンテンツにスキップ

JavaScript/boolean

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

booleanは、JavaScriptにおける基本的なプリミティブ型の一つで、trueまたはfalseの2つの値のみを持つ論理型データ型です。

型の特徴

[編集]
  • プリミティブ型
  • 2値のみを取る(trueまたはfalse
  • 論理演算や条件分岐の基本的な構成要素

値の生成方法

[編集]

リテラル

[編集]
  • let flag = true;
  • let status = false;

Boolean()コンストラクタ

[編集]
  • let boolValue1 = Boolean(1);
  • let boolValue2 = Boolean(0);

比較演算子による生成

[編集]
  • let result = (5 > 3);true
  • let comparison = (10 === 20);false

型変換

[編集]

明示的な変換

[編集]

論理否定による変換

[編集]

ファルシー値

[編集]

falseと同等に扱われる値:

論理演算

[編集]

論理積(AND)

[編集]
  • true && truetrue
  • true && falsefalse

論理和(OR)

[編集]
  • true || falsetrue
  • false || falsefalse

論理否定

[編集]

型チェック

[編集]
typeof true       // "boolean"
typeof false      // "boolean"
typeof Boolean()  // "boolean"

オブジェクトとの違い

[編集]

プリミティブ値

[編集]
  • truefalseはプリミティブ値
  • new Boolean()はオブジェクト

注意点

[編集]
let primitiveTrue = true;
let objectTrue = new Boolean(true);

primitiveTrue === objectTrue  // false
Boolean(primitiveTrue) === true  // true

関連メソッドと関数

[編集]

ECMAScriptでの定義

[編集]
  • 言語仕様の初期から存在
  • ECMAScript仕様で厳密に定義

ブラウザ互換性

[編集]
  • 全てのJavaScriptエンジンで完全サポート
  • 言語の最初期から一貫して実装

使用パターン

[編集]

条件分岐

[編集]
if (condition) {
    // trueの場合の処理
} else {
    // falseの場合の処理
}

三項演算子

[編集]
let result = condition ? valueIfTrue : valueIfFalse;

実装の内部詳細

[編集]

JavaScriptエンジンによって内部実装は異なりますが、基本的な真偽値の表現方法は共通しています。