Boolean
Boolean
オブジェクトは論理値のオブジェクトラッパーです。
解説
一番目の引数に渡された値は、必要に応じて論理値に変換されます。値が省略された場合や、値が 0
, -0
, null
, false
, NaN
, undefined
あるいは空文字列 (""
) であった場合、オブジェクトは false
の初期値を持ちます。それ以外のあらゆる値は、オブジェクトや "false
" という文字列も含めて、 true
の初期値を持つオブジェクトを生成します。
プリミティブな Boolean
の true
や false
を Boolean
オブジェクトの true
や false
という値と混同しないでください。
その値が undefined
や null
でないオブジェクトは、値が false
の Boolean
オブジェクトも含めて、条件文に通されると全て true
に評価されます。例えば、以下の if
文の条件は true
に評価されます。:
var x = new Boolean(false);
if (x) {
// このコードは実行されます。
}
この振る舞いは Boolean
プリミティブには適用されません。例えば、以下の if
文の条件は false
に評価されます。:
var x = false;
if (x) {
// このコードは実行されません
}
Boolean
オブジェクトを論理値でない値から論理値への変換に使わないでください。代わりに、 Boolean
を関数として使ったり、二重否定演算子を使用したりすることで同じことが行えます。
var x = Boolean(expression); // こちらを使うか...
var x = !!(expression); // ...こちらを使ってください
var x = new Boolean(expression); // これは使わないでください!
Boolean
オブジェクトの初期値としてオブジェクトを指定した場合、それが値が false
の Boolean
オブジェクトであっても、新しい Boolean
オブジェクトは true
の値を持ちます。
var myFalse = new Boolean(false); // 初期値は false
var g = Boolean(myFalse); // 初期値は true
var myString = new String('Hello'); // 文字列オブジェクト
var s = Boolean(myString); // 初期値は true
Boolean
プリミティブの代わりに Boolean
オブジェクトを使わないでください。
Note: 標準外の document.all
プロパティがこのコンストラクターの引数として使用された場合、結果は Boolean
オブジェクトで値は false
となります。このプロパティは古く、標準外で、使用するべきではありません。
コンストラクター
Boolean()
- 新しい
Boolean
オブジェクトを生成します。
インスタンスメソッド
Boolean.prototype.toString()
- オブジェクトの値に応じて文字列で
true
またはfalse
のどちらかを返します。Object.prototype.toString()
メソッドを上書きします。 Boolean.prototype.valueOf()
Boolean
オブジェクトのプリミティブ値を返します。Object.prototype.valueOf()
メソッドを上書きします。
例
Boolean オブジェクトを初期値 false で生成
var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean('');
var bfalse = new Boolean(false);
Boolean オブジェクトを初期値 true で生成
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({});
仕様書
ブラウザーの互換性
BCD tables only load in the browser