Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: объекты

Как сравниваются объекты?

Этот вопрос проверяет знание того, как JavaScript сравнивает объекты. Это ключевое понятие, которое нужно понимать при работе с данными.

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

В JavaScript объекты сравниваются по ссылке, а не по значению. Это означает, что два объекта считаются равными (===), только если они ссылаются на один и тот же объект в памяти. Даже если два объекта имеют одинаковые свойства и значения, они не будут равны, если это разные экземпляры.

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

В JavaScript при сравнении объектов используется проверка ссылок на один и тот же объект, а не их содержимого. Это отличается от примитивных типов, которые сравниваются по значению. Когда вы сравниваете два объекта оператором === или ==, JavaScript проверяет, указывают ли они на одно и то же место в памяти. Если да, объекты считаются равными, если нет — они считаются разными, даже если их свойства идентичны.

let obj1 = { name: "John" }; 
let obj2 = { name: "John" }; 
let obj3 = obj1; 
console.log(obj1 === obj2); // false, разные объекты, хоть и с одинаковыми данными 
console.log(obj1 === obj3); // true, оба ссылаются на один объект

Если вам нужно сравнивать объекты по их содержимому, нужно реализовать специальную функцию, которая будет проверять каждое свойство объектов.

Пример функции глубокого сравнения:

function deepEqual(obj1, obj2) {  
	return JSON.stringify(obj1) === JSON.stringify(obj2); 
}

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

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

#объекты

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