布林值

布林基元是只有兩個值的邏輯資料類型:truefalse

JavaScript 中的所有值均為隱含的 truefalseBoolean 物件 可用於將值「強制」truefalse 布林值,以其隱含的 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

由於所有物件本來就具有「趨勢」, 產生的布林值物件一律會大致評估為 true 包含 false 值:

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

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

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

隨堂測驗

以下何者會傳回 false

空字串
"none"
0
Null