Boolean は真偽値のラッパオブジェクトです。

構文

new Boolean([value])

引数

value
省略可能。Boolean オブジェクトの初期値。

説明

一番目の引数に渡された値は、必要に応じ真偽値に変換されます。値が省略された場合や、値が 0, -0, null, false, NaN, undefined あるいは空文字列 ("") であった場合、オブジェクトは false の初期値を持ちます。それ以外のあらゆる値は、オブジェクトや "false" という文字列も含めて、true の初期値を持つオブジェクトを生成します。

プリミティブな真偽値の truefalseBoolean オブジェクトの truefalse という値と混同しないでください。

その値が undefinednull でないオブジェクトは、値が false の Boolean オブジェクトも含めて、条件文に通されると全て true に評価されます。例えば、以下の if 文の条件は true に評価されます。:

var x = new Boolean(false);
if (x) {
  // . . . このコードは実行されます。
}

この振る舞いはプリミティブな真偽値には適用されません。例えば、以下の if 文の条件は false に評価されます。:

var x = false;
if (x) {
  // . . . このコードは実行されません
}

Boolean オブジェクトを真偽値でない値から真偽値への変換に使わないでください。代わりに、Boolean を関数として使うことで同じことが行えます。:

var x = Boolean(expression);     // 推奨
x = new Boolean(expression); // 使わないでください

Boolean オブジェクトの初期値としてオブジェクトを指定した場合、それが値が falseBoolean オブジェクトであっても、新しい Boolean オブジェクトは true の値を持ちます。

var myFalse = new Boolean(false);   // 初期値は false
var g = Boolean(myFalse);       // 初期値は true
var myString = new String("Hello"); // String オブジェクト
var s = Boolean(myString);      // 初期値は true

プリミティブな真偽値の代わりに Boolean オブジェクトを使わないでください。

プロパティ

Boolean.length
常に 1 です。
Boolean.prototype
Boolean コンストラクタのprototypeです。

メソッド

グローバル な Boolean オブジェクトは自分自身のメソッドを持っていませんが、プロトタイプチェーンを通していくつかのメソッドを継承しています。

Boolean インスタンス

Boolean インスタンスは、Boolean.prototype を継承します。コンストラクタのプロトタイプオブジェクトを用いて、Boolean インスタンスの全てにプロパティ、もしくは、メソッドを加えることができます。

プロパティ

メソッド

false の初期値を持つ Boolean オブジェクトを生成する

var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean("");
var bfalse = new Boolean(false);

true の初期値を持つ Boolean オブジェクトを生成する

var btrue = new Boolean(true);
var btrueString = new Boolean('true');
var bfalseString = new Boolean('false');
var bSuLin = new Boolean('Su Lin');
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});

仕様

Specification Status Comment
ECMAScript 1st Edition (ECMA-262) 標準 Initial definition. Implemented in JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
Boolean の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
Boolean の定義
標準  
ECMAScript Latest Draft (ECMA-262)
Boolean の定義
ドラフト  

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung InternetNode.js
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり
prototypeChrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり
toSource
非標準
Chrome 未対応 なしEdge 未対応 なしFirefox 完全対応 1IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしEdge Mobile 未対応 なしFirefox Android 完全対応 4Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なしnodejs 未対応 なし
toStringChrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり
valueOfChrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応
未対応  
未対応
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: woodmix, teoli, yyss, ethertank, Potappo, Mgjbot, Yuichirou
最終更新者: woodmix,