--- 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 抽象操作")}} |