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