在JavaScript中使用new创建的克隆对象

时间:2018-02-11 22:09:08

标签: javascript object clone

我正在尝试克隆使用new创建的对象。我发现这样做的唯一方法是:

let tmp = Object.create(instance.__proto__);
let obj = Object.assign(tmp, instance);

这个例子起作用并完成工作,但看起来不是一个合适的解决方案。我想知道是否有更好的方法来克隆使用new创建的对象?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

这完全取决于您是要制作还是克隆。

为简单起见,我们假设您要在代码中创建克隆。

然后,您可以使用您提供的较短版本的代码:

let obj = Object.assign({}, instance);

或使用ES6 spread syntax

let obj = {...instance};

两种方式都是正确的。