假值

Falsy(有時也寫作 falsey)值是指在 布林 上下文中被認為是假的值。

JavaScript 在需要布林值的上下文(例如條件語句迴圈)中,使用型別轉換將任何值強制轉換為布林值。

下表提供了 JavaScript 中 Falsy 值的完整列表:

型別 描述
null Null 關鍵字 null — 任何值的缺失。
undefined Undefined undefined — 原始值。
false Boolean 關鍵字 false
NaN Number NaN — 非數字。
0 Number Number 零,也包括 0.00x0 等。
-0 Number Number 負零,也包括 -0.0-0x0 等。
0n BigInt BigInt 零,也包括 0x0n 等。注意,沒有 BigInt 負零 — 0n 的負值仍然是 0n
"" String 空的 字串 值,也包括 ''``
document.all Object JavaScript 中唯一一個 Falsy 物件是內建的 document.all

nullundefined 也是 nullish(空值)。

示例

JavaScript 中 falsy 值的例子(在布林上下文中被強制轉換為 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
}

邏輯與運算子,&&

如果第一個物件是 falsy 值,則返回該物件。

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

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

另見