20 / 38
Чем отличается Object.assign() от spread-оператора при копировании объектов?
Оба делают поверхностное копирование собственных перечисляемых свойств. Ключевое отличие: Object.assign() мутирует целевой объект и вызывает сеттеры, а spread ({...obj}) всегда создаёт новый объект и обходит сеттеры, используя прямое определение свойств. Также Object.assign() может копировать в существующий объект, а spread только создаёт новый.