Falsy (偽値)

偽値 (falsy または falsey) な値とは、論理型コンテキストに現れたときに偽とみなされる値です。

JavaScript条件文繰り返しなどの場面で、任意の値を強制的に論理型に型変換します。

以下の表は、 JavaScript の偽値の完全なリストです。

説明
null null キーワード null — 値が存在しないことを示します。
undefined undefined undefined — プリミティブ値。
false 論理値型 キーワード false
NaN 数値型 NaN — 数値ではない。
0 数値型 数値ゼロ (従って、 0.00x0 なども含みます)。
-0 数値型 数値マイナスゼロ(従って、 -0.0-0x0 等も含みます)。
0n 長整数型 長整数型のゼロ(従って、 0x0n も含みます)。なお、長整数型にはマイナスゼロはありません。 0n の負の数は 0n です。
"" 文字列型 文字列値。''`` も含みます。
document.all オブジェクト JavaScript で唯一の偽値のオブジェクトは、組み込みの document.all です。

null および undefinedヌル値でもあります。

JavaScript の 偽値 の例です(これは論理値のコンテキストでは偽に変換されるため、 if ブロックを実行しません)。

js
if (false) {
  // 到達しない
}

if (null) {
  // 到達しない
}

if (undefined) {
  // 到達しない
}

if (0) {
  // 到達しない
}

if (-0) {
  // 到達しない
}

if (0n) {
  // 到達しない
}

if (NaN) {
  // 到達しない
}

if ("") {
  // 到達しない
}

論理 AND 演算子 &&

最初のオブジェクトが偽値の場合は、そのオブジェクトを返します。

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

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

関連情報