Назад к вопросам
Junior
83
questionbank
В чем разница между == и === в JavaScript?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Оператор == (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)
Использование === предпочтительно в большинстве случаев, так как оно более предсказуемо и избегает неочевидного поведения, связанного с приведением типов.