--- title: Falsy (偽値) slug: Glossary/Falsy tags: - CodingScripting - Glossary - JavaScript - 用語集 translation_of: Glossary/Falsy ---

偽値 (falsy または falsey な値) は、 {{Glossary("Boolean")}} コンテキストに現れたときに偽とみなされる値です。

{{Glossary("JavaScript")}} は{{Glossary("Conditional", "条件文")}}や{{Glossary("Loop", "繰り返し")}}などの場面で、任意の値を強制的に Boolean に{{Glossary("Type_Conversion", "型変換")}}します。

偽値は8つあります。

false false キーワード
0 数値ゼロ
-0 数値マイナスゼロ
0n BigInt で、論理値として使用された場合、 Number と同じ規則に従います。 0n偽値です。
""

文字列の値

{{Glossary("null")}} null - 何も値が存在しないこと
{{Glossary("undefined")}} undefined - プリミティブ値
{{Glossary("NaN")}} NaN - 非数

オブジェクトは、 [[IsHTMLDDA]] 内部スロットがある場合のみ偽値になります。このスロットは {{domxref("document.all")}} にのみ存在し、 JavaScript を使用して設定することはできません。

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

if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (0n)
if (NaN)
if ("")

論理 AND 演算子 &&

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

false && "dog"
// ↪ false

0 && "dog"
// ↪ 0

仕様書

仕様書
{{SpecName("ESDraft", "#sec-toboolean", "ToBoolean 抽象操作")}}

詳細情報

{{QuickLinksWithSubpages("/ja/docs/Glossary")}}