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

View in English Always switch to English

Boolean() コンストラクター

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨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({});

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-boolean-constructor

ブラウザーの互換性

関連情報