如何克隆一个JavaScript的ES6类实例
如何使用ES6克隆Javascript类实例。
我对基于jquery或$ extend的解决scheme不感兴趣。
我曾经见过很多关于对象克隆的讨论,认为这个问题相当复杂,但是用ES6,一个非常简单的解决scheme就出现了 – 我会把它放在下面,看看人们是否认为它是令人满意的。
编辑:这是build议我的问题是重复的; 我看到了这个答案,但是它已经7岁了,并且使用ES6之前的版本来解释非常复杂的答案。 我build议我的问题,它允许ES6,有一个更简单的解决scheme。
let clone = Object.assign( Object.create( Object.getPrototypeOf(orig)), orig)
我尝试了很多,最终这为我工作。
这也避免了设置原型,因为他们说它会减慢代码。
这是一个单线!
const clone = Object.assign( {}, instanceOfBlah ); Object.setPrototypeOf( clone, Blah.prototype );
注意Object.assign的特性:它做一个浅拷贝,不复制类的方法。
如果你想要一个复制或更多的副本控制,那么就有lodash克隆function 。