Преобразование в булев тип
Язык программирования JavaScript может рассматривать любое значение с логической точки зрения. Все, что преобразуется в
false, называется "falsy" (ложное). Это число 0, пустая строка
"", null, undefined, NaN и, конечно же,
false. Все остальные значения – истинные ("truthy"). На эту концепцию опирается множество JavaScript-трюков.
Оператор логического отрицания
! умеет работать со значениями любого типа. Он конвертирует любое falsy значение в
true, а любое truthy – в
false. Таким образом, на выходе всегда получается булево значение. Такое преобразование может быть удобно в условных операторах.