【发布时间】:2017-02-05 18:40:33
【问题描述】:
谷歌搜索“javascript clone object”会带来一些非常奇怪的结果,其中一些已经过时了,而另一些则太复杂了,这不是那么简单吗:
let clone = {...original};
这有什么问题吗?
【问题讨论】:
-
这不是合法的 ES6。但如果是,这不是克隆:您的克隆和原始属性现在都指向相同的东西。例如,
original = { a: [1,2,3] }给你一个克隆,clone.a字面意思是original.a。通过clone或original进行修改会修改相同的东西,所以不,这很糟糕=) -
@AlbertoRivera 这是有点有效的 JavaScript,因为它是一个 stage 2 提案,可能会成为 JavaScript 标准的未来补充。
-
@Frxstrem 的问题是关于 ES6,这不是有效的 JavaScript =)
-
浅克隆还是深层克隆?
-
你是对的,它不是有效的 ES6,它是 有效的 ES9。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript ecmascript-6 javascript-objects