假设我要使用传播语法为对象分配新属性
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扩展语法,什么是正确的方法
答案 0 :(得分:3)
clone.payload = {...source.payload}
意味着您创建了一个新对象,并将source.payload
的内容散布到其中,然后将该新对象分配给clone.payload
。
要达到预期的结果,可以执行以下操作:
const source = { payload: "abc" }
const clone = {...source}
这将创建一个新对象,将source
传播到其中,并将其分配给clone
。