Back to Content

Truthy

files/en-us/glossary/truthy/index.md

latest1.2 KB
Original Source

In {{Glossary("JavaScript")}}, a truthy value is a value that is considered true when encountered in a {{Glossary("Boolean")}} context. All values are truthy unless they are defined as {{Glossary("Falsy", "falsy")}}. That is, all values are truthy except false, 0, -0, 0n, "", null, undefined, NaN, and {{domxref("document.all")}}.

{{Glossary("JavaScript")}} uses {{Glossary("Type_Coercion", "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):

js
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);

If the first operand is truthy, the logical AND operator returns the second operand:

js
true && "dog";
// returns "dog"

[] && "dog";
// returns "dog"

See also

  • Related glossary terms:
    • {{Glossary("Falsy")}}
    • {{Glossary("Type_Coercion", "Type coercion")}}
    • {{Glossary("Boolean")}}
  • Boolean coercion