我正在清理一些旧的Backbone.js应用程序,并将其中的大部分重写为ES2015。
我偶然发现一个地方,我们用Underscore.js克隆一个模型:
var modelCopy = _.clone(this.model);直观地,我重写了它以使用Object.assign
const modelCopy = Object.assign({}, this.model);事实证明,Object.assign的工作方式与_.clone不太一样--它只给出了实际对象的属性和方法,而不是它的原型。
我知道下划线是脊骨的依赖,但我仍然想知道:我如何用ES2015创建一个对象的实际克隆?
发布于 2016-05-30 16:39:19
为了保持原型,您可以使用
const modelCopy = Object.assign(Object.create(Object.getPrototypeOf(this.model)), this.model)https://stackoverflow.com/questions/37527602
复制相似问题