ブール値プリミティブは、true と false の 2 つの値のみを持つ論理データ型です。
ブール値オブジェクト
JavaScript のすべての値は暗黙的に true または false です。Boolean オブジェクトを使用すると、値の暗黙的な true または false の状態に基づいて、値を true または false ブール値に強制変換できます。
Boolean( "A string literal" );
> true
false になる値には、0、null、undefined、NaN、空の文字列("")、省略された値、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 );
> false
console.log( !!falseObject );
> true
理解度を確認する
次のうち、false を返すものはどれですか。
空の文字列
0null"none"