Истинноподобное значение

В JavaScript истинноподобное (truthy) значение — это значение, рассматривающиеся как true в булевом контексте. К истинноподобным значениям относятся все значения кроме ложноподобных значений. То есть все значения истинноподобны кроме false, 0, -0, 0n, "", null, undefined и NaN.

В булевых контекстах JavaScript использует механизм приведения типов.

Примеры истинноподобных значений в JavaScript (которые будут принудительно приведены к true в булевых контекстах, выполняя таким образом содержимое блока if):

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)

Оператор логического И, &&

Если первый операнд истинноподобен, то оператор логического И вернёт второй операнд:

js
true && "dog"
// возвращает "dog"

[] && "dog"
// возвращает "dog"

Смотрите также