Вопрос

Возможный Дубликат:
Javascript === vs == :Имеет ли значение, какой “равный” оператор я использую?

В чем разница между == и === в JavaScript?Я тоже видел != и !== операторы.Есть ли еще такие операторы?

Это было полезно?

Решение

=== и !== являются строгими операторами сравнения:

В JavaScript есть как строгое, так и сравнение равенства с преобразованием типов.Для strict равенство сравниваемые объекты должны иметь одинаковый тип и:

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

Операторы сравнения - MDC

Другие советы

Взгляните сюда: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

3 знака равенства означают "равенство без принуждения типа".Используя тройное равенство, значения также должны быть равны по типу.

0 == false   // true
0 === false  // false, because they are of a different type
1 == "1"     // true, automatic type conversion for value only
1 === "1"    // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top