2016-07-06 113 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'對我來說不起作用。 –