Встречается на собеседованиях • сегодня
Почему в JavaScript есть проблема с клонированием объекта
В JavaScript объекты передаются по ссылке, а не по значению. При простом присваивании (obj2 = obj1) создается новая ссылка на тот же объект, а не его копия. Это приводит к неожиданным мутациям при изменении "клонированного" объекта.
Для глубокого клонирования можно использовать:
JSON.parse(JSON.stringify(obj))- простой способ, но теряет функции и символы- Рекурсивное копирование
structuredClone()(современный способ)
Пример:
js
const original = { a: 1, b: { c: 2 } };
const shallowCopy = { ...original }; // поверхностная копия
const deepCopy = JSON.parse(JSON.stringify(original)); // глубокая копия
shallowCopy.b.c = 3; // изменит и original
deepCopy.b.c = 4; // не затронет original
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы