Stack Overflow(http://stackoverflow.com/questions/28150967/typescript-cloning-object)で質問をさらに文書化しました
タイプスクリプトでオブジェクトのクローンを作成する方法はありますか? 現在、私は次のハックを使用しています
var cloneObj = new this.constructor();
しかし、typescriptは次のエラーを発生させます:エラー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のコードを使用すると、これらのキャストはいずれも最新のビットで機能し、次の以降のすべてのバージョンで使用できるはずです。