Truthy and falsy values in javascript
Jun 21, 2021
JavaScript has six different primitive data types:
- Undefined (a variable with no defined value)
- Null (a single null value)
- Boolean (true or false)
- Number (this includes
Infinity
andNaN
– not a number!) - String (textual data)
- Symbol (a unique and immutable primitive new to ES6/2015)
Everything else is an Object — including arrays.
But, as well as a type, each value also has an inherent boolean value, generally known as either truthy or falsy.
The following values are always falsy:
false
0
(zero)''
or""
(empty string)null
undefined
NaN
Everything else is truthy. That includes:
'0'
(a string containing a single zero)'false'
(a string containing the text “false”)[]
(an empty array){}
(an empty object)function(){}
(an “empty” function)