freeCodeCamp/guide/english/javascript/truthy-values/index.md

1.2 KiB
Raw Blame History

title
Truthy Value

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).

Some interesting truthy values are:

'0' (a string containing a single zero) 'false' (a string containing the text “false”) [] (an empty array) {} (an empty object) function(){} (an “empty” function)

Rules:

  • false, zero and ''(empty strings) are all equivalent.
  • null and undefined 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 to true or false!
  • An empty array([]) is truthy yet comparing with true is false and comparing with false is true?!

A single value can therefore be used within conditions, e.g.

if (value) { // value is truthy } else { // value is falsy // it could be false, 0, '', null, undefined or NaN }

See also: falsy | MDN