假设我想使用扩展语法将一个新属性分配给一个对象
const source = { payload: "abc" }
const clone = {}
clone.payload = {...source.payload}
console.log(clone);
期待:clone={payload:"abc"}
实际:clone={payload:{'0':'a','1':'b','2':'c'}}
FYI:如果源是像这个source = { payload: { component: "correct" } }。然后,扩展语法就能正常工作了。
问:我是否误用了ES6扩展语法,正确的方法是什么?
发布于 2018-09-10 18:46:13
clone.payload = {...source.payload}意味着您创建一个新对象,并将source.payload的内容扩展到其中,然后将该新对象分配给clone.payload。
为了达到预期的结果,您可以这样做:
const source = { payload: "abc" }
const clone = {...source}这将创建一个新对象,将source扩展到其中,并将其分配给clone。
https://stackoverflow.com/questions/52263567
复制相似问题