ブール値プリミティブは、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 );
> true
理解度を確認する
次のうち、false
を返すものはどれですか。
空の文字列
0
null
"none"