查看以下代码。
false == 0
返回:true
这是一个类型转换示例,之前你已经见过。JavaScript 认为 0 表示 false,因此比较结果为true。那么为何要再次提到该示例呢?
如果再深入思考下,就会更容易回答为何 JavaScript 将值 0 转型为 false。
真值和假值
JavaScript 中的每个值都有固有的布尔值,在布尔表达式中评估该值时,该值就会转换为固有的布尔值。
这些固有的值称为真值或假值。
假值
结果为 false 的值称为 假值。例如,空字符串 "" 为假值,因为在布尔表达式中,"" 等于 false。
false == ""
返回:true
以下是所有假值的列表:
false
null
undefined
0
NaN
""
真值
如果结果为 true,则为真值。例如,1 是真值,因为在布尔环境下,1 等于 true。
true == 1
返回:true
以下是真值的一些其他示例:
true
42
"pizza"
{}
[]
本质上,如果不是假值,则为真值!