Создание

b = new Boolean(value)

Аргументы

value
исходное значение для булевого объекта

В яваскрипт есть как Boolean-объекты, так и примитивные Boolean значения.

Не смешивайте их. Объект — это объект. В частности, яваскрипт любой объект считает «true», например при неявном приведении типа в операторе if:

1 x = new Boolean(false);
2 if (x) {
3   // . . . этот код будет выполнен
4 }

Оператор 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.