Возможный дубликат:
Javascript === vs ==
Какая разница между "===" и "=="? Спасибо!
Возможный дубликат:
Javascript === vs ==
Какая разница между "===" и "=="? Спасибо!
'===' означает равенство без тиреобразования. Другими словами, если использовать тройной эквивалент, значения должны быть равны по типу.
например.
0==false // true
0===false // false, because they are of a different type
1=="1" // true, auto type coersion
1==="1" // false, because they are of a different type
Источник: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
Ripped из моего блога: keithdonegan.com
Оператор равенства (==)
Оператор равенства (==) проверяет, являются ли два операнда одинаковыми и возвращает true, если они одинаковы и ложны, если они различны.
Оператор идентификации (===)
Оператор identity проверяет, являются ли два операнда "идентичными".
Эти правила определяют, идентичны ли два значения:
Оператор === означает "точно равен", совпадающий как по значению, так и по типу данных.
Оператор == означает "равен", только совпадающий по значению.
Он проверяет точное равенство как значения, так и типа.
given the assignment
x = 7
x===7 is true
x==="7" is false
В двух словах "===" тесты для равенства значения И типа: Отсюда: