В JavaScript вещи могут быть истинными или ложными, но они также могут быть истинными или ложными. Давайте посмотрим, как это работает.
В JavaScript вещи могут быть true
или false
, но они также могут быть truthy
или falsy
. Понятия truthy
и falsy
обычно рассматриваются только в логическом контексте, например, в операторе if..else
, но они также влияют на другие части JavaScript — например, на то, что возвращается логическим оператором ИЛИ.
Что означают правда и ложь в JavaScript?
Что-то считается falsy
в JavaScript, если оно может быть преобразовано в false
. Точно так же нечто является truthy
просто, если оно не считается falsy
. Хотя falsy
может показаться расплывчатым утверждением, на самом деле у него есть конкретное определение. Следующие значения считаются falsy
:
false
0
or-0
or0n
- любая пустая строка, т.е.
""
null
undefined
NaN
Точно так же все, что не равно им, считается truthy
, например:
- любой объект, например
{}
или[]
. - любое ненулевое число.
- любая непустая строка.
- любое значение, отличное от
null
,undefined
илиNaN
.
Использование правдивых и ложных
Значения truthy
и falsy
имеют значение в логике JavaScript. Например, все, что может быть преобразовано в truthy
в логической настройке (такой как if..else
), преобразуется в true
, и то же самое касается операторов falsy
.
Например, следующая инструкция if
— это true
просто потому, что "1"
— это инструкция truthy
:
if("1") {
console.log('ok');
}
Если бы оператор вместо этого сказал if(0)
, он вернул бы false, так как 0
это falsy
. По мере того, как вы будете знакомиться с JavaScript, вы везде найдете ссылки на truthy
и falsy
, так что хорошо бы ознакомиться с этой концепцией прямо сейчас.
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.