布尔值基元是一种逻辑数据类型,只有两个值: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 由于所有对象在本质上都是真值,因此生成的布尔值对象始终会粗略地评估为 true,即使它包含 false 值也是如此:
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"