Truthy
All values are truthy unless they are defined as falsy
. That is, all values are truthy
except false
, 0
, -0
, 0n
, ""
, null
, undefined
, NaN
, and
document.all
.
JavaScript uses type coercion in Boolean contexts.
Examples of truthy
values in JavaScript (which will be coerced to true
in boolean contexts, and thus execute the if
block):
if
(
true
)
if
(
{
}
)
if
(
[
]
)
if
(
42
)
if
(
"0"
)
if
(
"false"
)
if
(
new
Date
(
)
)
if
(
-
42
)
if
(
12n
)
if
(
3.14
)
if
(
-
3.14
)
if
(
Infinity
)
if
(
-
Infinity
)
The logical AND operator, &&
If the first operand is truthy, the logical AND operator returns the second operand:
true
&&
"dog"
// returns "dog"
[
]
&&
"dog"
// returns "dog"