Boolean()

Boolean() - это встроенная функция JavaScript, которая преобразует значение в логический тип.

Логический тип может иметь только два значения:

  • true - истина;
  • false - ложь.

Например:

console.log(Boolean(1));
console.log(Boolean(0));

В консоли будет:

true
false

На первых уроках Boolean() помогает понять, как JavaScript смотрит на разные значения в условиях.

Что такое Boolean()

Boolean() берет значение и показывает, к чему оно приводится: к true или к false.

let value = Boolean('JavaScript');

console.log(value);
console.log(typeof value);

Результат:

true
boolean

Строка ‘JavaScript’ не пустая, поэтому она преобразуется в true.

Как и Number() или String(), функция Boolean() возвращает новое значение. Исходную переменную она сама не меняет.

Синтаксис

Общая запись выглядит так:

Boolean(value);

value - это значение, которое нужно преобразовать в true или false.

Примеры:

Boolean(10);
Boolean('');
Boolean(null);
Boolean('text');

Чаще всего результат выводят в консоль, чтобы проверить поведение значения:

console.log(Boolean(10));
console.log(Boolean(''));
console.log(Boolean(null));
console.log(Boolean('text'));

Значения, которые дают false

В JavaScript есть несколько значений, которые при преобразовании дают false.

console.log(Boolean(false));
console.log(Boolean(0));
console.log(Boolean(''));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(NaN));

Результат:

false
false
false
false
false
false

То есть к false приводятся:

  • false;
  • 0;
  • пустая строка ;
  • null;
  • undefined;
  • NaN.

Эти значения часто называют ложными. В условиях они ведут себя как false.

Значения, которые дают true

Все остальные значения в большинстве обычных ситуаций приводятся к true.

console.log(Boolean(1));
console.log(Boolean(25));
console.log(Boolean('Привет'));
console.log(Boolean('0'));
console.log(Boolean('false'));
console.log(Boolean([]));
console.log(Boolean({}));

Результат:

true
true
true
true
true
true
true

Здесь есть важный момент: строка ‘0’ - это не число 0, а текст. Поэтому она дает true.

То же самое со строкой ‘false’. Для человека это слово “false”, но для JavaScript это просто непустая строка.

Boolean() и условия

Когда мы пишем условие if, JavaScript сам приводит значение к логическому типу.

let userName = 'Алексей';

if (userName) {
  console.log('Имя указано');
}

Переменная userName хранит непустую строку, поэтому условие сработает.

Если строка будет пустой, код внутри if не выполнится:

let userName = '';

if (userName) {
  console.log('Имя указано');
}

Чтобы увидеть это явно, можно проверить значение через Boolean():

console.log(Boolean('Алексей'));
console.log(Boolean(''));

Результат:

true
false

Получается, Boolean() помогает понять, как значение поведет себя внутри условия.

Почему строка ‘false’ дает true

Одна из частых неожиданностей у новичков - строка ‘false’.

console.log(Boolean(false));
console.log(Boolean('false'));

Результат:

false
true

В первом случае у нас настоящее логическое значение false. Во втором случае - строка, внутри которой написано слово false.

JavaScript не читает смысл текста. Он видит, что строка не пустая, а значит такое значение считается истинным.

Похожий пример:

console.log(Boolean(0));
console.log(Boolean('0'));

Результат:

false
true

Число 0 дает false, а строка ‘0’ дает true.

Частые ошибки

Первая ошибка - думать, что Boolean() меняет исходную переменную.

let value = 0;

Boolean(value);

console.log(value);
console.log(typeof value);

Результат:

0
number

Функция вернула false, но мы этот результат никуда не записали. Поэтому переменная value осталась числом.

Если результат нужен дальше, его нужно сохранить:

let value = 0;
let result = Boolean(value);

console.log(result);
console.log(typeof result);

Результат:

false
boolean

Вторая ошибка - путать пустую строку и строку с пробелом.

console.log(Boolean(''));
console.log(Boolean(' '));

Результат:

false
true

Пустая строка дает false. Но строка с пробелом уже не пустая, поэтому она дает true.

Третья ошибка - думать, что массив или объект без данных дают false.

console.log(Boolean([]));
console.log(Boolean({}));

Результат:

true
true

Даже пустой массив и пустой объект в JavaScript считаются истинными значениями.

Boolean() - простой способ проверить, как JavaScript воспринимает значение: как true или как false. Это особенно важно перед изучением условий, логических операторов и более сложной логики в программах.