|
|
Boolean
Создание
Аргументы
- value
- исходное значение для булевого объекта
В яваскрипт есть как Boolean-объекты, так и примитивные Boolean значения.
Не смешивайте их. Объект - это объект. В частности, яваскрипт любой объект считает "true", например при неявном приведении типа в операторе if:
x = new Boolean(false);
if (x) {
// . . . этот код будет выполнен
}
Оператор if приводит аргумент к примитивному значению, поэтому new Boolean(false) был приведен к true, т.к является объектом.
Не используйте объект Boolean для преобразования к булевому значению. Вместо этого, используйте Boolean как функцию.
x = Boolean(expression); // предпочтительно
x = new Boolean(expression); // не используйте
Или можно проще, с использованием двойного отрицания:
x = !!expression
В современном яваскрипт-программировании new Boolean не используется.
Описание, примеры
Значение, переданное в качестве параметра, при необходимости, приводится к булевому виду. Если аргумент не указан или равен:
- 0,
- -0,
- null,
- false,
- NaN,
- undefined,
- или пустая строка
(""),
то объект инициализуется как false. Все остальные значения, включая объекты и строку "false" создают объект с начальным значением true.
|
|
|
|
Почему не предпочтительно использовать new Boolean?