Выбор ответа Junior Типы и приведение спрашивают часто обновлено
Разница между == и ===
Вопрос
Чем == отличается от ===?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: == перед сравнением приводит операнды к общему типу, === нет. === при разных типах сразу возвращает false, == сначала приводит типы по набору правил (строка к числу, булево к числу, объект к примитиву, особый случай null и undefined).
Варианты ответа
==перед сравнением приводит операнды к общему типу,===нетправильный ответ===сравнивает объекты по содержимому, а==только по ссылке==работает только с примитивами, а===с любыми значениями- Разницы в результате нет, просто
===быстрее за счёт оптимизаций
Разбор
=== при разных типах сразу возвращает false, == сначала приводит типы по набору правил (строка к числу, булево к числу, объект к примитиву, особый случай null и undefined). Объекты оба оператора сравнивают по ссылке: {a: 1} === {a: 1} и {a: 1} == {a: 1} дают false. == прекрасно работает и с объектами, просто приводит их к примитиву при сравнении с примитивом. И это не вопрос скорости, а разная семантика.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Неявное приведение типов в JavaScript
Следующий вопрос
Сравнение строк с числами через <