Истинноподобное значение
В 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"