用新的JavaScript创建的克隆对象



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

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

这个示例有效并且可以完成工作,但看起来不像是一个适当的解决方案。我想知道是否有一种更好的方法来克隆用new

创建的对象

任何帮助将不胜感激!

如果要制作 deep shallow clone。

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

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

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

或使用ES6扩展语法:

let obj = {...instance};

两种方式都是正确的。

最新更新