Мини-серия JavaScript

Истинные и ложные значения в JavaScript

В этом уроке мы быстро рассмотрим значения truthy и falsy, которые напоминают логическое поведение true и false.

Когда вы пишете оператор if/else на любом языке программирования, вы ожидаете передать значение в условии if(), которое строго соответствует boolean, что означает либо true, либо false. Это также может быть выражение, которое оценивает одно из этих значений, как показано ниже.

Однако JavaScript выходит за рамки этого. В JavaScript инструкция if/else проверяет, является ли значение истинным или ложным. Значение правдиво похоже на true, а значение ложное похоже на false. Это следующие.

falsy  -> false, '', "", 0, -0, 0n, NaN, null, undefined
truthy -> anything that is not mentioned above

Следовательно, если вы используете одно из этих значений в операторе if/else, вы получите ту же обработку, что и собственные значения true и false, как показано ниже. Вы также можете использовать выражение, возвращающее эти значения.

Вы можете преобразовать истинное и ложное значение в соответствующее собственное логическое значение. Это можно сделать двумя способами. Ether вы можете использовать оператор логическое НЕ (!) Или можете использовать конструктор Boolean как функцию.

Как видите, вы можете использовать один или несколько операторов ! для приведения истинного или ложного значения к значению boolean. Я бы рекомендовал вам использовать круглые скобки при использовании оператора !, такого как !(0+1), который оценивается как false.

Когда функция Boolean выполняется с истинным значением, она возвращает true, иначе она возвращает false, что может быть полезно в некоторых операциях, таких как filter.