真值

JavaScript 中,真值(truthy)是指在 布尔 上下文中被视为 true 的值。所有值都是真值,除非它们被定义为 假值(falsy)。也就是说,除了 false0-00n""nullundefinedNaNdocument.all 之外,所有值都是真值

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);

逻辑与(AND)运算符 &&

如果第一个操作数为真值,则 逻辑与运算符 返回第二个操作数。

js
true && "dog";
// returns "dog"

[] && "dog";
// returns "dog"

另见