假值

假值(有时写成falsey)是在布尔上下文中被视为假的值。

JavaScript使用类型转换将任何值强制转换为布尔值,在需要布尔值的环境中,例如条件语句循环

下表提供了JavaScript假值的完整列表

类型 描述
null 关键字null——没有任何值的表示。
undefined 未定义 undefined——原始值。
false 布尔值 关键字false
NaN 数字 NaN——非数字。
0 数字 数字零,包括0.00x0等。
-0 数字 负零,包括-0.0-0x0等。
0n BigInt 大整数零,包括0x0n等。请注意,没有大整数负零——0n的负数是0n
"" 字符串 空字符串,包括''``
document.all 对象 JavaScript中唯一一个假值对象是内置的document.all

nullundefined也是空值

示例

JavaScript中假值的示例(在布尔上下文中强制转换为false,从而绕过if块)

js
if (false) {
  // Not reachable
}

if (null) {
  // Not reachable
}

if (undefined) {
  // Not reachable
}

if (0) {
  // Not reachable
}

if (-0) {
  // Not reachable
}

if (0n) {
  // Not reachable
}

if (NaN) {
  // Not reachable
}

if ("") {
  // Not reachable
}

逻辑与运算符,&&

如果第一个对象是假值,则返回该对象

js
console.log(false && "dog");
// ↪ false

console.log(0 && "dog");
// ↪ 0

另请参阅