Strojopisem: Rozšířením vestavěné typy

hlasů
14

jak se dá rozšířit na jednu z ‚vestavěných‘ typů? např Array?

V JS, udělal bych něco podobného

Array.prototype.shuffle = function () { ... };

co je ekvivalent na stroji?

Položena 03/10/2012 v 05:05
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
20

Typy jsou ‚otevřený konec‘ na psacím stroji, takže stačí napsat:

interface Array {
  shuffle: () => any; // <-- Whatever signature you want.
}

A pak typ je rozšířen o novou funkci (a můžete přiřadit funkci odpovídající podpis k ní).

Všimněte si však, že rozšíření vestavěné typy (ty lib.d.ts - například Array) má problém v současné době v jazykové služby, jak to ukládá těm, kteří byli pro Perf důvodů. Dělat toto řešení jsem napsal-up na http://typescript.codeplex.com/workitem/4 rozšířit vestavěné typy bez chyb v jazykové služby ve VS.

Odpovězeno 03/10/2012 v 05:23
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more