Boolean в JavaScript представляет собой примитивный тип данных boolean
, который может иметь только два значения: true
(истина) или false
(ложь). Кроме того, в JavaScript есть объект-обёртка Boolean
, который оборачивает примитивные значения true
или false
и предоставляет дополнительные методы и свойства.
Boolean можно создать с помощью ключевых слов true
и false
, либо с использованием функции-конструктора Boolean()
.
let bool1 = true;
let bool2 = false;
let bool3 = new Boolean(true); // Создание через объект-обёртку
console.log(bool1); // true
console.log(bool2); // false
console.log(bool3); // [Boolean: true]
В JavaScript любое значение может быть преобразовано в Boolean
. Логические значения можно получить, применяя операторы или функции, которые ожидают логические значения.
let num = 10;
let boolFromNumber = Boolean(num); // true, так как num не равен 0
let boolFromString = Boolean("Hello"); // true, так как непустая строка
let boolFromObject = Boolean({}); // true, так как объект существует
console.log(boolFromNumber); // true
console.log(boolFromString); // true
console.log(boolFromObject); // true
JavaScript предоставляет логические операторы для работы с Boolean
значениями, такие как &&
(логическое И), ||
(логическое ИЛИ), и !
(логическое НЕ).
let x = 5;
let y = 10;
let z = 15;
let result = (x < y) && (y < z);
console.log(result); // true
При сравнении значений разных типов JavaScript может преобразовывать их в Boolean
с помощью абстрактного преобразования к типу Boolean
. Этот процесс называется “вызовом ToBoolean”.
Абстрактная операция ToBoolean
(к булевому) преобразует свой аргумент к значению типа Boolean
в соответствии с таблицей ниже:
Тип аргумента | Результат |
---|---|
Undefined | false |
Null | false |
Boolean | Результат равен входному аргументу (без преобразования). |
Number | Результат false, если аргумент равен +0, −0 или NaN; в противном случае результат – true. |
String | Результат false, если аргумент – пустая строка (длина строки равна нулю); в противном случае результат – true. |
Object | true |
Пример:
console.log(Boolean("")); // false
console.log(Boolean(0)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(false)); // false
console.log(Boolean("Hello")); // true
console.log(Boolean(10)); // true
console.log(Boolean({})); // true
Boolean
значения часто используются в условных выражениях для выполнения различных действий.
let condition = true;
if (condition) {
console.log("Условие истинно");
} else {
console.log("Условие ложно");
}
===
(строгое равенство), так как он сравнивает значения без преобразования типов данных.true
и false
рассматриваются как логические ложь и истину соответственно. Однако любые другие значения рассматриваются как логическая ложь только в случае, если они преобразуются в специальные “ложные” значения (например, 0, null, undefined, NaN, "").