JavaScript Булевы значения
JavaScript булево (логическое) значение представляет одно из двух значений: true или false (истина или ложь).
Булевы (логические) значения
Очень часто в программировании вам понадобится тип данных, который может иметь только одно из двух значений, например:
- YES / NO (ДА / НЕТ)
- ON / OFF (ВКЛ. / ОТКЛ.)
- TRUE / FALSE (ИСТИНА / ЛОЖЬ)
Для этого в JavaScript есть тип данных булевые значения, которые могут принимать только значения true или false.
Функция Boolean()
Вы можете использовать функцию Boolean()
чтобы узнать, истинно ли выражение (или переменная):
Или даже проще:
Сравнения и условия
В главе JS Сравнения даётся полный обзор операторов сравнения.
В главе JS Условия дается полный обзор условных операторов.
Вот несколько примеров:
Оператор | Описание | Пример |
---|---|---|
== | равно | if (day == "Monday") |
> | больше чем | if (salary > 9000) |
< | меньше чем | if (age < 18) |
Логическое (булево) значение выражения является основой для всех сравнений и условий JavaScript.
Всё, что имеет "Значение" является True (истина)
Всё, что не имеет "Значения" является False (ложь)
Булево значение 0 (ноль) является false:
let x = 0;
Boolean(x); // возвращает false
Попробуйте сами »
Булево значение -0 (минус ноль) является false:
let x = -0;
Boolean(x); // возвращает false
Попробуйте сами »
Булево значение "" (пустая строка) является false:
let x = "";
Boolean(x); // возвращает false
Попробуйте сами »
Булево значение null является false:
let x = null;
Boolean(x); // возвращает false
Попробуйте сами »
Булево значение false это (как вы уже догадались) false:
let x = false;
Boolean(x); // возвращает false
Попробуйте сами »
Булево значение NaN является false:
let x = 10 / "Hallo";
Boolean(x); // возвращает false
Попробуйте сами »
Логические значения могут быть объектами
Обычно логические значения JavaScript представляют собой примитивные значения, созданные из литералов:
let x = false;
Но логические значения также могут быть определены как объекты с ключевым словом new
:
let y = new Boolean(false);
Пример
let x = false;
let y = new Boolean(false);
//
typeof x returns boolean
//
typeof y returns object
Попробуйте сами »
Не создавайте логические объекты. Это снижает скорость выполнения.
Ключевое слово new
усложняет код. Это может привести к неожиданным результатам:
При использовании оператора ==
равные логические значения равны:
Пример
let x = false;
let y = new Boolean(false);
// (x == y) является true, потому что x и y имеют равные значения
Попробуйте сами »
При использовании оператора ===
равные логические значения не равны, поскольку оператор ===
ожидает равенства как по типу, так и по значению.
Пример
let x = false;
let y = new Boolean(false);
// (x === y) является false, потому что x и y имеют разные типы
Попробуйте сами »
Или даже хуже. Объекты нельзя сравнивать:
Пример
let x = new Boolean(false);
let y = new Boolean(false);
// (x == y) является false, потому что объекты нельзя сравнивать
Попробуйте сами »
Обратите внимание на разницу между (x==y) и (x===y).
Сравнение двух объектов JavaScript всегда будет возвращать false.
Полный справочник логических (булевых) значений
Для получения полной справки перейдите на Полный справочник JavaScript Булевы значения на нашем сайте W3Schools на русском.
Справочник содержит описания и примеры всех логических свойств и методов.