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

Как сделать копию объекта

В JavaScript есть несколько способов создать копию объекта:

  1. Поверхностная копия (shallow copy) - копирует только первый уровень свойств:
javascript
const obj = { a: 1, b: { c: 2 } };
const copy1 = { ...obj }; // spread оператор
const copy2 = Object.assign({}, obj); // Object.assign
  1. Глубокая копия (deep copy) - рекурсивно копирует все вложенные объекты:
javascript
const deepCopy = JSON.parse(JSON.stringify(obj)); // работает для JSON-совместимых данных
// Или использовать библиотеки типа Lodash: _.cloneDeep(obj)

Важные нюансы:

  • Spread и Object.assign не копируют прототип и символьные свойства
  • JSON методы не работают с функциями, undefined, циклическими ссылками
  • Для сложных случаев лучше использовать специализированные библиотеки

Пример с датой:

javascript
const obj = { date: new Date() };
const badCopy = { ...obj }; // date останется ссылкой
const goodCopy = { date: new Date(obj.date) }; // правильное копирование
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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