Ответ
Объекты в JavaScript — это ссылочный тип данных, в отличие от примитивов (number, string, boolean и т.д.), которые хранятся по значению.
Ключевые отличия:
- Передача по ссылке
При копировании объекта копируется ссылка, а не сам объект. Изменения в копии влияют на оригинал.
const obj1 = { a: 1 };
const obj2 = obj1;
obj2.a = 2;
console.log(obj1.a); // 2
- Сравнение
Объекты сравниваются по ссылке, а не по содержимому:
const objA = { a: 1 };
const objB = { a: 1 };
console.log(objA === objB); // false
- Динамические свойства
Объекты могут изменяться (добавлять/удалять свойства), в отличие от примитивов.
Примитивы же неизменяемы и сравниваются по значению.