ブール値

ブール値プリミティブは、truefalse の 2 つの値のみを持つ論理データ型です。

ブール値オブジェクト

JavaScript のすべての値は暗黙的に true または false です。Boolean オブジェクトを使用すると、値の暗黙的な true または false の状態に基づいて、値を true または false ブール値に強制変換できます。

Boolean( "A string literal" );
> true

false になる値には、0nullundefinedNaN、空の文字列("")、省略された値、false ブール値があります。他の値はすべて true になります。

Boolean( NaN );
> false

Boolean( -0 );
> false

Boolean( 5 );
> true

Boolean( "false" ); // the value `"false"` is a string, and therefore implicitly true.
> true

Boolean オブジェクトをコンストラクタとして使用しないでください。期待されるブール値プリミティブではなく、ブール値を含むオブジェクトが作成されます。

const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );

console.log( falseBoolean  );
> false

console.log( falseObject  );
> Boolean { false }

falseObject.valueOf();
> false

すべてのオブジェクトは本質的に真偽値であるため、結果のブール値オブジェクトは、false 値が含まれていても、常に緩く true と評価されます。

const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );

console.log( falseBoolean == true );
> false

console.log( falseObject == true );
> true

理解度を確認する

次のうち、false を返すものはどれですか。

空の文字列
0
null
"none"