Встречается на собеседованиях • сегодня
Почему не всегда используется spread оператор для клонирования объекта
Spread оператор (...) поверхностно копирует объект, что может привести к неожиданным последствиям при работе с вложенными объектами. Если объект содержит другие объекты или массивы, они будут скопированы по ссылке, а не по значению.
Пример:
javascript
const original = { a: 1, b: { c: 2 } };
const copy = { ...original };
copy.b.c = 99;
console.log(original.b.c); // 99 - оригинал тоже изменился!Для глубокого клонирования лучше использовать:
JSON.parse(JSON.stringify(obj))(но теряет функции и undefined)- Библиотеки типа Lodash (
_.cloneDeep) - Нативный
structuredClone()(поддержка не везде)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы