Boolean()
- Что такое Boolean()
- Синтаксис
- Значения, которые дают false
- Значения, которые дают true
- Boolean() и условия
- Почему строка ‘false’ дает true
- Частые ошибки
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. Это особенно важно перед изучением условий, логических операторов и более сложной логики в программах.