Tapuscrit: AUGMENTER types intégrés

voix
14

comment peut-on augment l'un des types « intégrés » dans? par exemple, tableau?

Dans JS, je ferais quelque chose comme

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

ce qui est l'équivalent dactylographiée?

Créé 03/10/2012 à 05:05
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
20

Les types sont « à composition non limitée » dactylographiée, vous pouvez simplement écrire:

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

Et puis le type est élargi pour inclure la nouvelle fonction (et vous pouvez attribuer une fonction correspondant à la signature à elle).

A noter cependant que l' extension du type intégré (ceux lib.d.ts - tels que Array) a un problème actuellement au service de la langue, car elle met en cache les internes pour des raisons de perf. Faites la solution que j'ai écrit-up à http://typescript.codeplex.com/workitem/4 pour étendre le haut-types sans erreurs dans le service linguistique VS.

Créé 03/10/2012 à 05:23
source utilisateur

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