Разница между == и === в JavaScript [дубликат]


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

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

2 1447

2 ответа:

=== и !== строгие операторы сравнения:

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

  • две строки строго равны, когда они имеют одинаковую последовательность символы одинаковой длины и одинаковые символы в соответствующих позициях.
  • два числа строго равны, когда они численно равны (имеют то же значение). NaN - это не равно ничему, включая NaN. Положительные и отрицательные нули равны друг к другу.
  • два логических операнда строго равны, если оба истинны или оба являются ложными.
  • два объекта строго равны, если они относятся к одному и тому же 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