Встречается на собеседованиях • сегодня
В чем разница между spread и Object.assign()
Spread (...) и Object.assign() оба используются для копирования свойств объектов, но есть ключевые различия:
- Синтаксис:
- Spread более лаконичен:
const newObj = {...obj} Object.assign()требует явного вызова:const newObj = Object.assign({}, obj)
- Spread более лаконичен:
-
Глубина копирования:
Оба метода создают поверхностную копию (вложенные объекты копируются по ссылке). -
Совместимость:
Object.assign()работает в старых браузерах (ES5).- Spread для объектов появился в ES2018.
-
Особенности:
Object.assign()копирует только enumerable свойства.- Spread копирует также символы (Symbol).
Пример:
javascript
const obj = { a: 1 };
const spreadCopy = { ...obj }; // { a: 1 }
const assignCopy = Object.assign({}, obj); // { a: 1 }
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы