Крокфорд и Дж.С.Линт несколько догматичны в этом вопросе, и я думаю, что это слишком предписывает.Всегда использовать ===
вместо ==
- разумное практическое правило для неопытных разработчиков JavaScript, но если вы знаете основные правила, то нет проблем с использованием ==
.В частности, если два операнда гарантированно относятся к одному и тому же типу (например, при typeof
сравнении, например typeof foo == "undefined"
), то два оператора должны точно следовать одним и тем же шагам.
Существуеттакже разумное замечание о привычном использовании ===
, устраняющее необходимость думать о том, какой оператор использовать, но, честно говоря, я предпочитаю быть вынужденным рассмотреть все возможные значения двух операндов, которые я сравниваю, и нахожу JSLint излишне нанимающим.