布尔基元是逻辑数据类型,仅有两个值: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
由于所有对象本质上都是 truthy,
生成的布尔值对象始终会松散地求值结果为 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
。