Чем отличаются операторы == и === в JavaScript?

Оператор == (loose equality) выполняет приведение типов операндов перед сравнением.

Короткий ответ

Что ответить на собеседовании

Оператор == (loose equality) выполняет приведение типов операндов перед сравнением.

Подробный разбор

Ответ с пояснениями

Оператор == (loose equality) выполняет приведение типов операндов перед сравнением.

Оператор === (strict equality) не выполняет приведение типов. Он сравнивает значения и типы операндов.

// Примеры ==
console.log(5 == '5');   // true (строка '5' приводится к числу 5)
console.log(true == 1);    // true (число 1 приводится к true)
console.log(null == undefined); // true (специальное правило)

// Примеры ===
console.log(5 === '5');  // false (тип number не равен типу string)
console.log(true === 1);   // false (тип boolean не равен типу number)
console.log(null === undefined); // false (тип null не равен типу undefined)

Использование === предпочтительно в большинстве случаев, так как оно более предсказуемо и избегает неочевидного поведения, связанного с приведением типов.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку