Что такое truthy и falsy в JS?

Чем оно отличается от true / false, и отличается ли оно вообще как-то?

truthy и falsy в JavaScript это что-то сродни терминам "равный" и "идентичный".

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


Приведу вам табличку из справочника по данной теме:

Falsy значение Описание

"" или " Пустая строка, строковой тип

0 Ноль, числовой тип

null переменная, инициализированная пустым значением, тип object

undefined Неинициализированная переменная, тип undefined

false Само значение false логического типа

NaN Нечисло, тип числовой


К значениям truthy относятся все остальные