2016-07-06 78 views
0

我正在重构一些代码以充分利用一些ES6功能。我遇到的一件事是lodash问题,并将_.clone应用于es6代理。我想知道是否有相当于lodash提供的克隆方法的es6。我的搜索没有发现任何结果。ES6相当于lodash _.clone(lodash无法克隆ES6代理)

thx。

+0

看起来答案是“Object.assign”。 – Cyph

+1

请注意,虽然'Object.assign'不做深层克隆。 – sma

+0

正确,它是一个类似_.clone方法的浅拷贝@sma – Cyph

回答

1

使用ES6 Object.assign出现是_.clone的替代品。

var obj = { a: 1 }; 
var copy = Object.assign({}, obj); 
console.log(copy); // { a: 1 } 

这似乎也成功地克隆ES6代理,为此lodash失败并返回一个“不确定”。

+0

对我来说,lodash(4.17.4)没有返回undefined,而是代理对象的克隆。仍然失去代理。我需要深度克隆(因为对象包含对象作为属性),所以'Object.assign'对我来说不起作用。 –