Javascript.RU

Boolean

Создание

b = new Boolean(value)

Аргументы

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.


Автор: Гость (не зарегистрирован), дата: 22 марта, 2014 - 15:28
#permalink

буля


Автор: Alban, дата: 5 мая, 2014 - 11:53
#permalink

Почему не предпочтительно использовать new Boolean?


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
16 + 0 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Реклама
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum