Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: strict, equality

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

Вопрос проверяет понимание сравнения значений и типов в JavaScript.

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

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

Длинный ответ

В JavaScript существуют два оператора сравнения на равенство, которые ведут себя по-разному.

Определение

== (loose equality) — сравнивает значения с автоматическим приведением типов.
=== (strict equality) — сравнивает значение и тип без приведения.

Как работает ==

При сравнении == JavaScript может преобразовывать типы:

  • строку в число

  • null и undefined

  • логические значения

Пример:

0 == false      // true
'' == 0         // true
null == undefined // true

Как работает ===

=== не выполняет преобразований:

0 === false     // false
'' === 0        // false

Почему предпочтительнее ===

  • Предсказуемое поведение

  • Меньше скрытых ошибок

  • Проще читать и поддерживать код

Вывод

=== следует использовать по умолчанию. == допустим только при полном понимании правил приведения типов.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#strict

#equality

Подпишись на React Developer в телеграм