Typescript: 克隆对象

创建于 2015-02-05  ·  3评论  ·  资料来源: microsoft/TypeScript

我已经在堆栈溢出中详细记录了该问题(http://stackoverflow.com/questions/28150967/typescript-cloning-object)

有没有办法在打字稿中克隆对象? 目前,我正在使用以下技巧

var cloneObj = new this.constructor();

但是打字稿引发以下错误:错误TS2351:无法对类型缺少调用或构造签名的表达式使用'new'。

Question

最有用的评论

使用SO中的代码,所有这些强制转换都可以使用最新的版本,并且自以下版本以来,每个版本都应具有:

    var cloneObj = new (<any>this.constructor());
    var cloneObj = new (<any>this.constructor)();
    var cloneObj = new (<any>this).constructor();

所有3条评论

您能否确切说明当前答案的问题是什么?

问题是,当我尝试动态调用构造函数时,编译器会出现错误。

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();
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

RyanCavanaugh picture RyanCavanaugh  ·  205评论

kimamula picture kimamula  ·  147评论

disshishkov picture disshishkov  ·  224评论

chanon picture chanon  ·  138评论

born2net picture born2net  ·  150评论