Встречается на собеседованиях • сегодня

На каком уровне оператор spread копирует объект

Spread оператор (...) выполняет поверхностное копирование (shallow copy) объекта. Это значит, что копируются только свойства первого уровня, а вложенные объекты или массивы остаются ссылками на оригинальные значения.

javascript
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = { ...obj1 };

obj2.a = 10; // Изменяется только копия
obj2.b.c = 20; // Изменяется и оригинал, так как b - ссылка

console.log(obj1); // { a: 1, b: { c: 20 } }
console.log(obj2); // { a: 10, b: { c: 20 } }

Для глубокого копирования используйте JSON.parse(JSON.stringify(obj)) или библиотеки типа Lodash (_.cloneDeep).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы