真值

JavaScript 中,真值是在布尔值上下文中,转换后的值为 true 的值。被定义为假值以外的任何值都为真值。(即所有除 false0-00n""nullundefinedNaN 以外的皆为真值)。

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 && "狗狗"
// 返回“狗狗”

[] && "狗狗"
// 返回“狗狗”

参见