Как правило, я обычно использовал ===
вместо ==
(и !==
вместо !=
).
Причины объясняются в ответах выше, а также Douglas Crockford довольно ясно об этом ( JavaScript: The Good Parts ).
Однако существует одно исключение: == null
- эффективный способ проверить, что «имеет значение null или undefined ':
if( value == null ){
// value is either null or undefined
}
Например, jQuery 1.9.1 использует этот шаблон 43 раза, а проверка синтаксиса JSHint по этой причине даже предоставляет возможность отключения eqnull
.
Из руководства по стилю jQuery :
Строгие проверки равенства (===) следует использовать в пользу ==. Единственное исключение - проверка неопределенного и нулевого значения с помощью null.
// Check for both undefined and null values, for some important reason. undefOrNull == null;