Встречается на собеседованиях • сегодня
Как сделать копию объекта
В JavaScript есть несколько способов создать копию объекта:
- Поверхностная копия (shallow copy) - копирует только первый уровень свойств:
javascript
const obj = { a: 1, b: { c: 2 } };
const copy1 = { ...obj }; // spread оператор
const copy2 = Object.assign({}, obj); // Object.assign- Глубокая копия (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) }; // правильное копирование
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы