Adding markdown formatting for sections and more information on truthy. Also attempting to mirror how the falsy article is organized. Moving the conditional example from the bottom to the top of the file.
1.7 KiB
1.7 KiB
title
title |
---|
Truthy Value |
Description
A truthy value is a value that translates to true when evaluated in a Boolean context.
All values are truthy unless they are defined as falsy (i.e. except for false
, 0
, ""
, null
, undefined
and NaN
).
Checking for Truthy Values on Variables
It is possible to check for a truthy value in a variable with a simple conditional:
if (variable) {
// When the variable has a truthy value the condition is true.
}
You can also get the boolean value of a variable by using the bang operator (!
) twice:
!!variable // When the variable is truthy, a double bang (!!) will evaluate to the Boolean true.
Interesting JavaScript Rules concerning Truthy Values
These Are Interesting Truthy Values
- '0' (a string containing a single zero)
- 'false' (a string containing the text “false”)
- [] (an empty array)
- {} (an empty object)
- function(){} (an “empty” function)
Comparing Interesting Truthy Values
false
,zero
and''
(empty strings) are all equivalent.null
andundefined
are equivalent to themselves and each other but nothing else.NaN
is not equivalent to anything – including another `NaN!Infinity
is truthy – but cannot be compared totrue
orfalse
!- An empty array(
[]
) is truthy – yet comparing withtrue
isfalse
and comparing withfalse
istrue
?!
More Information
See also: falsy | MDN