我已经在堆栈溢出中详细记录了该问题(http://stackoverflow.com/questions/28150967/typescript-cloning-object)
有没有办法在打字稿中克隆对象? 目前,我正在使用以下技巧
var cloneObj = new this.constructor();
但是打字稿引发以下错误:错误TS2351:无法对类型缺少调用或构造签名的表达式使用'new'。
您能否确切说明当前答案的问题是什么?
问题是,当我尝试动态调用构造函数时,编译器会出现错误。
var cloneObj = new this.constructor(); // error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.
我发现使编译器1.3满意的方式是
var cloneObj = new (<any> this.constructor());
但是该方法不适用于1.4.1。
有没有办法动态调用构造函数?
使用SO中的代码,所有这些强制转换都可以使用最新的版本,并且自以下版本以来,每个版本都应具有:
var cloneObj = new (<any>this.constructor());
var cloneObj = new (<any>this.constructor)();
var cloneObj = new (<any>this).constructor();
最有用的评论
使用SO中的代码,所有这些强制转换都可以使用最新的版本,并且自以下版本以来,每个版本都应具有: