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.
Вот, что имеет "Значение" - правда
Вот, что не имеет "Значение" - ложно
Логическое значение 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.
Справочник содержит описания и примеры всех логических свойств и методов.
