真值
在 JavaScript 中,真值是在布尔值上下文中,转换后的值为 true
的值。被定义为假值以外的任何值都为真值。(即所有除 false
、0
、-0
、0n
、""
、null
、undefined
和 NaN
以外的皆为真值)。
JavaScript 在布尔值上下文中使用强制类型转换。
JavaScript 中的真值示例如下(这些值会被强制转换为 true
,因此 if
后的代码段将被执行):
js
if (true)
if ({})
if ([])
if (42)
if ("0")
if ("false")
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)
逻辑与运算 &&
如果第一个对象为真值,则逻辑与运算返回第二个操作数。
js
true && "狗狗"
// 返回“狗狗”
[] && "狗狗"
// 返回“狗狗”