В чем разница между == и === в JS

«В чем разница между == и === в JS» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

== (нестрогое равенство) выполняет приведение типов перед сравнением, тогда как === (строгое равенство) сравнивает без приведения типов.

Пример:

5 == '5'    // true (строка преобразуется в число)
5 === '5'   // false (разные типы)

null == undefined  // true (специальное правило)
null === undefined // false

0 == false   // true (false → 0)
0 === false  // false (number ≠ boolean)

Рекомендуется всегда использовать ===, если нет явной необходимости в приведении типов, так как это предотвращает неочевидные ошибки.