ES6 Объект распространяется со строкой - PullRequest
0 голосов
/ 10 сентября 2018

Допустим, я хочу назначить новое свойство для объекта, используя синтаксис распространения

const source = { payload: "abc" }
const clone = {}
clone.payload = {...source.payload}

ожидайте: clone={payload:"abc"}

актуально: clone={payload:{'0':'a','1':'b','2':'c'}}

К вашему сведению: если источник похож на это source = { payload: { component: "correct" } }. Тогда синтаксис распространения работает правильно

Вопрос: неправильно ли я использую синтаксис ES6 и как это правильно?

1 Ответ

0 голосов
/ 10 сентября 2018

clone.payload = {...source.payload} означает, что вы создаете новый объект и распространяете в нем содержимое source.payload, а затем присваиваете этот новый объект clone.payload.

Чтобы достичь ожидаемого результата, вы можете сделать следующее:

const source = { payload: "abc" }
const clone = {...source}

Это создаст новый объект, распространит в него source и присвоит ему clone.

...