Разница между == и === в JavaScript


JavaScript имеет как строгое(===), так и преобразовывающее тип (==) сравнения. Для строгого равенства (===) сравниваемые объекты должны иметь не только равные значения, но и одинаковый тип.

Можно добавить следующее:

  • Две строки строго равны, если они имеют одинаковую последовательность символов, одинаковой длины и одинаковых символов в соответствующих позициях.
  • Два числа строго равны, когда они численно равны (имеют одинаковое числовое значение). NaN не равно ничему, включая NaN. Положительные и отрицательные нули равны друг другу.
  • Два булевых операнда строго равны, если оба являются истинными, или оба являются ложными.
  • Два объекта строго равны, если они ссылаются на один и тот же объект.
  • Нулевые и неопределенные типы == (но не ===). [то есть (Null == Undefined) истинно, но (Null === Undefined) является ложным]
Примеры

  • 0 == false // true
  • 0 === false // false, так как разные типы
  • 1 == "1" // true, происходит автоматическая конвертация
  • 1 === "1" // false, так как разные типы
  • null == undefined // true
  • null === undefined // false
  • '0' == false // true
  • '0' === false // false
Если у вас есть вопросы по JavaScript, требуется помощь по этому языку или необходимо написать скрипт - обращайтесь на почту up777up@yandex.ru - я с удовольствием и за небольшую плату помогу вам.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, javascript, тонкости




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Ошибка ArrayIndexOutOfBoundsException Java
IP-адреса
Какой язык лучше для разработки игр?