--- title: Boolean slug: Web/JavaScript/Reference/Global_Objects/Boolean tags: - Boolean - Class - JavaScript - Reference - クラス translation_of: Web/JavaScript/Reference/Global_Objects/Boolean ---
Boolean
オブジェクトは論理値のオブジェクトラッパーです。
一番目の引数に渡された値は、必要に応じて論理値に変換されます。値が省略された場合や、値が 0
, -0
, {{jsxref("null")}}, false
, {{jsxref("NaN")}}, {{jsxref("undefined")}} あるいは空文字列 (""
) であった場合、オブジェクトは false
の初期値を持ちます。それ以外のあらゆる値は、オブジェクトや "false
" という文字列も含めて、 true
の初期値を持つオブジェクトを生成します。
プリミティブな Boolean
の true
や false
を Boolean
オブジェクトの true
や false
という値と混同しないでください。
その値が {{jsxref("undefined")}} や {{jsxref("null")}} でないオブジェクトは、値が false
の Boolean
オブジェクトも含めて、条件文に通されると全て true
に評価されます。例えば、以下の {{jsxref("Statements/if...else", "if")}} 文の条件は true
に評価されます。:
var x = new Boolean(false); if (x) { // このコードは実行されます。 }
この振る舞いは Boolean
プリミティブには適用されません。例えば、以下の {{jsxref("Statements/if...else", "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
オブジェクトを生成します。true
または false
のどちらかを返します。 {{jsxref("Object.prototype.toString()")}} メソッドを上書きします。var bNoParam = new Boolean(); var bZero = new Boolean(0); var bNull = new Boolean(null); var bEmptyString = new Boolean(''); var bfalse = new Boolean(false);
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({});
仕様書 |
---|
{{SpecName('ESDraft', '#sec-boolean-objects', 'Boolean')}} |
{{Compat("javascript.builtins.Boolean")}}