И Object.assign, и распространение объекта делают только поверхностное слияние. Пример проблемы: // No object nesting const x = { a: 1 } const y = { b: 1 } const z = { ...x, ...y } // { a: 1, b: 1 } Выход - то, что вы ожидаете. Однако, если я попробую это: // Object nesting const x = { a: { a: 1 }...