JavaScript Truthy and Falsy Values
A simple reference table of common JavaScript truthy and falsy values.
false when converted to a boolean. Most other values become true.
| Value | Result | Language | Context | Example |
|---|---|---|---|---|
false |
Falsy | JavaScript | The boolean false value. | Boolean(false) === false |
0 |
Falsy | JavaScript | The number zero. | Boolean(0) === false |
-0 |
Falsy | JavaScript | Negative zero is also falsy. | Boolean(-0) === false |
0n |
Falsy | JavaScript | BigInt zero. | Boolean(0n) === false |
"" |
Falsy | JavaScript | An empty string. | Boolean("") === false |
null |
Falsy | JavaScript | A deliberate empty or missing value. | Boolean(null) === false |
undefined |
Falsy | JavaScript | A value that has not been assigned. | Boolean(undefined) === false |
NaN |
Falsy | JavaScript | Not-a-Number. | Boolean(NaN) === false |
"hello" |
Truthy | JavaScript | Any non-empty string is truthy. | Boolean("hello") === true |
"0" |
Truthy | JavaScript | A string containing zero is still a non-empty string. | Boolean("0") === true |
"false" |
Truthy | JavaScript | A string containing the word false is still a non-empty string. | Boolean("false") === true |
1 |
Truthy | JavaScript | Most non-zero numbers are truthy. | Boolean(1) === true |
-1 |
Truthy | JavaScript | Negative non-zero numbers are truthy. | Boolean(-1) === true |
[] |
Truthy | JavaScript | Arrays are objects, and objects are truthy, even when empty. | Boolean([]) === true |
{} |
Truthy | JavaScript | Objects are truthy, even when empty. | Boolean({}) === true |
function() {} |
Truthy | JavaScript | Functions are objects and are truthy. | Boolean(function() {}) === true |
new Date() |
Truthy | JavaScript | Date objects are truthy. | Boolean(new Date()) === true |
Infinity |
Truthy | JavaScript | Infinity is a number value and is truthy. | Boolean(Infinity) === true |