如何在TypeScript中克隆类实例?

如何在TypeScript中克隆类实例?,typescript,typescript2.0,Typescript,Typescript2.0,我有一个类的实例: let i = new I(); 在添加到阵列之前,我需要克隆它,请创建一个副本: arr.push(i); 我试过: Object.assign({}, i) 您可以尝试以下代码,它应该可以工作 let i = new I(); //const clone = Object.assign({}, i); //arr.push(clone); //const clone = JSON.parse(JSON.stringify(i)); //arr.push(c

我有一个类的实例:

let i = new I();
在添加到阵列之前,我需要克隆它,请创建一个副本:

arr.push(i);
我试过:

Object.assign({}, i)

您可以尝试以下代码,它应该可以工作

 let i = new I();
 //const clone = Object.assign({}, i);
 //arr.push(clone);
 //const clone = JSON.parse(JSON.stringify(i));
 //arr.push(clone);
 const clone = Object.create(
      Object.getPrototypeOf(i), 
      Object.getOwnPropertyDescriptors(i) 
  );
 arr.push(clone);

这回答了你的问题吗?浅克隆还是深克隆?