Логическое (или булевое) значение - это примитивный тип данных, который может содержать в себе true или false (истина или ложь). JavaScript использует приведение типа, чтобы привести значение к true\false.
Шпаргалка по “инстинным” и “ложным” значениям в JavaScript
В JavaScript существует пять ложных значений. Это ноль 0, пустая строка '', undefined, null и NaN.
Итак, любое из этих пяти значений будет преобразовано в false, если мы попытаемся конвертировать их в логическое значение. Хотя изначально это не совсем false. Но это будет false при преобразовании их к булевым значениям. Вот так звучит определение ложных значений в JavaScript.
Что касается false, то это ложь/ложное значение само по себе. Поэтому его нет в списке 5-ти ложных значений.