JavaScript Booleans
Логическое значение JavaScript представляет одно из двух значений: true или false.
Логические значения
Очень часто в программировании вам понадобится тип данных, который может иметь только одно из двух значений, например
- Да/нет
- Вкл/выкл
- Истина/ложь
Для этого JavaScript имеет логический тип данных. Он может принимать только значения true или false.
Функция Boolean ()
С помощью функции Boolean () можно определить, является ли выражение (или переменная) истинным:
Пример
Boolean(10> 9) // returns true
Или даже проще:
Пример
(10> 9) // also returns true
10> 9 // also returns true
Сравнения и условия
В главе JS сравнения дается полный обзор операторов сравнения.
Условия главы JS дают полный обзор условных выражений.
Вот несколько примеров:
Оператор | Описание | Пример |
---|---|---|
== | равно | if (day == "Monday") |
> | Больше | if (salary> 9000) |
< | Менее | if (age <18) |
Логическое значение выражения является основой для всех сравнений и условий JavaScript.
Все, что имеет значение true
Примеры
100
3.14
-15
"Hello"
"false"
7 + 1 + 3.14
Все без "значение" является ложным
Логическое значение 0 (ноль) равно false:
var x = 0;
Boolean(x); // returns false
Логическое значение -0 (минус ноль) равно false:
var x = -0;
Boolean(x); // returns false
Логическое значение "" (пустая строка) имеет значение false:
var x = "";
Boolean(x); // returns false
Логическое значение undefined имеет значение false:
var x;
Boolean(x); // returns false
Логическое значение null имеет значение false:
var x = null;
Boolean(x); // returns false
Логическое значение false (вы догадались) false:
var x = false;
Boolean(x); // returns false
Логическое значение NaN равно false:
var x = 10 / "H";
Boolean(x); // returns false
Логические объекты могут быть объектами
Обычно булевы JavaScript являются примитивными значениями, созданными из литералов:
var x = false;
Но булевы также могут быть определены как объекты с ключевым словом new:
var y = новое логическое значение (false);
Пример
var x = false;
var y = new Boolean(false);
//
typeof x returns boolean
//
typeof y returns object
Не создавайте логические объекты.
Это замедляет скорость выполнения.
Ключевое слово New усложняет код. Это может привести к неожиданным результатам:
При использовании оператора = = равные логические значения равны:
Пример
var x = false;
var y = new Boolean(false);
// (x == y) is true because x and y have equal values
При использовании оператора = = = равные логические значения не равны, поскольку оператор = = = ожидает равенства в типе и значении.
Пример
var x = false;
var y = new Boolean(false);
// (x === y) is false because x and y have different types
Или даже хуже. Невозможно сравнить объекты:
Пример
var x = new Boolean(false);
var y = new Boolean(false);
// (x == y) is false because objects cannot be compared
Обратите внимание на разницу между (x = = y) и (x = = y).
Сравнение двух объектов JavaScript всегда будет возвращать false.
Полная логическая ссылка
Для полной справки, перейдите к нашей полной JavaScript булева ссылка.
Ссылка содержит описания и примеры всех логических свойств и методов.