Ложные значения
Какие значения в JS являются ложными?
В JavaScript следующие значения считаются ложными (falsy):
-
false -
0 -
-0
-
0n(BigIntноль) -
""(пустая строка) -
null -
undefined -
NaN
Пример:
if (!false) console.log("Falsy"); // Falsy
if (!0) console.log("Falsy"); // Falsy
if (!-0) console.log("Falsy"); // Falsy
if (!0n) console.log("Falsy"); // Falsy
if (!"") console.log("Falsy"); // Falsy
if (!null) console.log("Falsy"); // Falsy
if (!undefined) console.log("Falsy"); // Falsy
if (!NaN) console.log("Falsy"); // Falsy
Эти значения считаются ложными в контексте логических операций и условий.
Как проверить, является ли значение ложным?
Для проверки, является ли значение ложным (falsy), можно использовать логическое отрицание или приведение к логическому типу.
Способы проверки:
-
Логическое отрицание:
-
Примените одно отрицание: !value равно true для falsy-значения. Двойное отрицание !!value преобразует значение в Boolean и даёт false для falsy.
-
Пример:
let value = 0; if (!value) { console.log("The value is falsy"); }
-
-
Приведение к логическому типу:
-
Использовать конструкцию
Boolean()для явного приведения значения к логическому типу. -
Пример:
let value = ""; if (Boolean(value) === false) { console.log("The value is falsy"); }
-
Примеры:
let value1 = null;
console.log(!value1); // true - значение ложное
let value2 = "hello";
console.log(Boolean(value2)); // true - значение истинное
let value3 = undefined;
if (!value3) {
console.log("The value is falsy"); // Вывод: The value is falsy
}