He documentado la pregunta más en Stack Overflow (http://stackoverflow.com/questions/28150967/typescript-cloning-object)
¿Hay alguna forma de clonar un objeto en mecanografiado? Actualmente estoy usando el siguiente truco
var cloneObj = new this.constructor ();
pero mecanografiado genera el siguiente error: error TS2351: No se puede usar 'nuevo' con una expresión cuyo tipo carece de una llamada o una firma de construcción.
¿Puede aclarar exactamente cuál es el problema que tiene con su respuesta actual?
El problema es que el compilador genera un error cuando intento llamar a un constructor de forma dinámica.
var cloneObj = new this.constructor(); // error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.
La forma que encontré para hacer feliz al compilador 1.3 fue
var cloneObj = new (<any> this.constructor());
Pero ese método no funciona con 1.4.1.
¿Hay alguna forma de llamar a un constructor de forma dinámica?
Usando su código de SO, cualquiera de estos casts funciona con los últimos bits y debería tener en cada versión desde:
var cloneObj = new (<any>this.constructor());
var cloneObj = new (<any>this.constructor)();
var cloneObj = new (<any>this).constructor();
Comentario más útil
Usando su código de SO, cualquiera de estos casts funciona con los últimos bits y debería tener en cada versión desde: