Typoskript: augmentierenden eingebauten Typen

stimmen
14

wie kann man eines der ‚eingebauten‘ Typen erweitern? zB Array?

In JS, würde ich etwas tun, wie

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

was ist das Äquivalent in Typoskript?

Veröffentlicht am 03/10/2012 um 05:05
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
20

Typen werden in Typoskript ‚offenes Ende‘, so kann man einfach schreiben:

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

Und dann wird der Typ die neue Funktion erweitert (und Sie können eine Funktion Anpassung der Signatur zuweisen).

Beachten Sie jedoch , dass die eingebauten Typen erstreckt (die in lib.d.ts - wie Array) hat ein Problem zur Zeit in den Sprachendienst, wie es diejenigen , intern für perf Gründen zwischenspeichert. Haben die Abhilfe , die ich schrieb-up bei http://typescript.codeplex.com/workitem/4 der eingebauten Typen ohne Fehler in dem Sprachendienst in VS zu erweitern

Beantwortet am 03/10/2012 um 05:23
quelle vom benutzer

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