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); // trueJavaScript предоставляет логические операторы для работы с 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({}));        // trueBoolean значения часто используются в условных выражениях для выполнения различных действий.
let condition = true;
if (condition) {
    console.log("Условие истинно");
} else {
    console.log("Условие ложно");
}=== (строгое равенство), так как он сравнивает значения без преобразования типов данных.true и false рассматриваются как логические ложь и истину соответственно. Однако любые другие значения рассматриваются как логическая ложь только в случае, если они преобразуются в специальные “ложные” значения (например, 0, null, undefined, NaN, "").