このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Boolean() コンストラクター

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

Boolean() コンストラクターは Boolean オブジェクトを生成します。関数として呼び出された場合、論理型のプリミティブ値を返します。

試してみましょう

const flag = new Boolean();
console.log(typeof flag);
// 予想される結果: object
console.log(flag === false);
// 予想される結果: false

const flag2 = Boolean();
console.log(typeof flag2);
// 予想される結果: boolean
console.log(flag2 === false);
// 予想される結果: true

構文

js
new Boolean(value)
Boolean(value)

メモ: Boolean()new を使用したり使用してもしなくても呼び出すことができますが、その効果は異なります。詳細については返値を参照してください。

引数

value

この Boolean オブジェクトの初期値です。

返値

Boolean() が関数として(new なしで)呼び出された場合、 value論理型に変換された値として返します。

Boolean() がコンストラクターとして(new をつけて)呼び出された場合、 value を論理値型のプリミティブに変換し、それをラップした Boolean オブジェクトを返します。このオブジェクトはプリミティブ型ではありません

警告: Boolean をコンストラクターとして使用する例は、ほとんど見つからないはずです。

解説

最初の引数として渡された値は論理値に変換されます。値が省略されるか、0-00nnullfalseNaNundefined、または空文字列 ("") の場合、オブジェクトの初期値は false になります。それ以外にもすべての値(オブジェクト、空の配列 ([])、文字列 "false" を含む)は、初期値が true のオブジェクトを生成します。

メモ: 標準外のプロパティ document.all がこのコンストラクターの引数として使われた場合、結果は false の値を持った Boolean オブジェクトになります。このプロパティは古く標準外であるため、使用しないでください。

Boolean オブジェクトを生成して初期値を false とする

js
const bZero = new Boolean(0);
const bNull = new Boolean(null);
const bEmptyString = new Boolean("");
const bfalse = new Boolean(false);

typeof bfalse; // "object"
Boolean(bfalse); // true

Boolean オブジェクトを Boolean() でプリミティブに変換すると、オブジェクトが false の値を保持していても常に true を生成することに注意してください。したがって、Boolean ラッパー オブジェクトの構築は常に避けるようにお勧めします。

ラッパーオブジェクトからプリミティブ値を取得する必要がある場合、Boolean() 関数を使用するのではなく、そのオブジェクトの valueOf() メソッドを使用してください。

js
const bfalse = new Boolean(false);

bfalse.valueOf(); // false

Boolean オブジェクトを生成して初期値を true とする

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

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-boolean-constructor

ブラウザーの互換性

関連情報