Typescript: objek kloning

Dibuat pada 5 Feb 2015  ·  3Komentar  ·  Sumber: microsoft/TypeScript

Saya telah mendokumentasikan pertanyaan lebih lanjut tentang Stack Overflow (http://stackoverflow.com/questions/28150967/typescript-cloning-object)

Apakah ada cara untuk mengkloning objek di skrip ketikan? Saat ini saya menggunakan peretasan berikut

var cloneObj = new this.constructor ();

tetapi skrip ketikan memunculkan kesalahan berikut: kesalahan TS2351: Tidak dapat menggunakan 'baru' dengan ekspresi yang tipenya tidak memiliki panggilan atau tanda tangan konstruksi.

Question

Komentar yang paling membantu

Menggunakan kode Anda dari SO, salah satu cast ini berfungsi dengan bit terbaru dan harus ada di setiap versi karena:

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

Semua 3 komentar

Dapatkah Anda menjelaskan dengan tepat apa masalah yang Anda hadapi dengan jawaban Anda saat ini?

Masalahnya adalah bahwa kompilator memunculkan kesalahan ketika saya mencoba memanggil konstruktor secara dinamis.

var cloneObj = new this.constructor(); // error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.

Cara yang saya temukan untuk membuat compiler 1.3 senang adalah

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

Tetapi metode itu tidak bekerja dengan 1.4.1.

Apakah ada cara untuk memanggil konstruktor secara dinamis?

Menggunakan kode Anda dari SO, salah satu cast ini berfungsi dengan bit terbaru dan harus ada di setiap versi karena:

    var cloneObj = new (<any>this.constructor());
    var cloneObj = new (<any>this.constructor)();
    var cloneObj = new (<any>this).constructor();
Apakah halaman ini membantu?
0 / 5 - 0 peringkat