falsey values

A value that coerces to `false` instead of `true`. Falsey values fail `if (value)` checks, and they fail and/or expressions. Which values are falsey in a language can very much change the flavor of the language and how it is written.

In JavaScript there are a whole bunch of falsey values, in addition to the actual boolean false.

`undefined` represents a missing value, an argument not provided, a non-extant property of an object, etc.

`null` is more like explicitly missing. Properties of objects that are expected to be set are often initialized to null, arguments to functions that are explicitly not passed are passed null.

`''` the empty string, a string with no characters in it and a length of 0 is also falsey.

`NaN` Not a Number is also falsey. You get NaN whenever you end up doing an impossible operation to a number and saving it as a number. NaN is infections, an operation with a number and a NaN always yields NaN.