Falsy
Afalsy (sometimes writtenfalsey) value is a value that is considered false when encountered in aBoolean context.
JavaScript usestype conversion to coerce any value to a Boolean in contexts that require it, such asconditionals andloops.
The following table provides a complete list of JavaScript falsy values:
| Value | Type | Description |
|---|---|---|
| null | Null | The keywordnull — the absence of any value. |
| undefined | Undefined | undefined — the primitive value. |
false | Boolean | The keywordfalse. |
| NaN | Number | NaN — not a number. |
0 | Number | TheNumber zero, also including0.0,0x0, etc. |
-0 | Number | TheNumber negative zero, also including-0.0,-0x0, etc. |
0n | BigInt | TheBigInt zero, also including0x0n, etc. Note that there is noBigInt negative zero — the negation of0n is0n. |
"" | String | Emptystring value, also including'' and``. |
document.all | Object | The only falsy object in JavaScript is the built-indocument.all. |
The valuesnull andundefined are alsonullish.
In this article
Examples
Examples offalsy values in JavaScript (which are coerced to false in Boolean contexts, and thusbypass theif block):
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}The logical AND operator, &&
If the first object is falsy, it returns that object:
js
console.log(false && "dog");// ↪ falseconsole.log(0 && "dog");// ↪ 0See also
- Related glossary terms:
- Boolean coercion