布林值原始類型是邏輯資料類型,只有兩個值:true
和 false
。
布林值物件
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"