0
我正在重构一些代码以充分利用一些ES6功能。我遇到的一件事是lodash问题,并将_.clone应用于es6代理。我想知道是否有相当于lodash提供的克隆方法的es6。我的搜索没有发现任何结果。ES6相当于lodash _.clone(lodash无法克隆ES6代理)
thx。
我正在重构一些代码以充分利用一些ES6功能。我遇到的一件事是lodash问题,并将_.clone应用于es6代理。我想知道是否有相当于lodash提供的克隆方法的es6。我的搜索没有发现任何结果。ES6相当于lodash _.clone(lodash无法克隆ES6代理)
thx。
使用ES6 Object.assign出现是_.clone的替代品。
var obj = { a: 1 };
var copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }
这似乎也成功地克隆ES6代理,为此lodash失败并返回一个“不确定”。
对我来说,lodash(4.17.4)没有返回undefined,而是代理对象的克隆。仍然失去代理。我需要深度克隆(因为对象包含对象作为属性),所以'Object.assign'对我来说不起作用。 –
看起来答案是“Object.assign”。 – Cyph
请注意,虽然'Object.assign'不做深层克隆。 – sma
正确,它是一个类似_.clone方法的浅拷贝@sma – Cyph