Встречается на собеседованиях • сегодня
В чем разница между Object.assign и JSON.stringify
Object.assign копирует свойства из одного или нескольких объектов в целевой объект (поверхностное копирование). Изменения вложенных объектов будут отражаться в исходных.
javascript
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = Object.assign({}, obj1);
obj2.b.c = 3; // изменит и obj1.b.cJSON.stringify преобразует объект в строку JSON, после чего JSON.parse создает полностью новый объект (глубокое копирование). Изменения не затрагивают исходный объект.
javascript
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = JSON.parse(JSON.stringify(obj1));
obj2.b.c = 3; // obj1.b.c останется 2Основные различия:
Object.assignработает только с поверхностными копиямиJSON.stringifyтеряет методы объекта и специальные типы (Date, RegExp и т.д.)Object.assignбыстрее, ноJSON.stringifyобеспечивает глубокое копирование

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