--- 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 ("")
最初のオブジェクトが偽値の場合は、そのオブジェクトを返します。
false && "dog" // ↪ false 0 && "dog" // ↪ 0
仕様書 |
---|
{{SpecName("ESDraft", "#sec-toboolean", "ToBoolean 抽象操作")}} |