Truthy

In JavaScript, a truthy value is a value that is considered true when encountered in a Boolean context. 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):

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

The logical AND operator, &&

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

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

See also