Typescript: Augmentation de types intégrés
-
12-12-2019 - |
Question
Comment peut-on augmenter l'un des types "intégrés"?par exemple tableau?
dans JS, je ferais quelque chose comme
Array.prototype.shuffle = function () { ... };
Quelle est l'équivalent dans Thypivescript?
La solution
types sont «ouverts à la fin» dans TypeScript, vous pouvez donc simplement écrire:
interface Array {
shuffle: () => any; // <-- Whatever signature you want.
}
puis le type est étendu pour inclure la nouvelle fonction (et vous pouvez affecter une fonction correspondant à la signature à celle-ci).
Notez cependant que l'extension des types intégrés (ceux de Lib.D.TS - tels que le tableau) a un problème actuellement dans le service linguistique, car il en cache des raisons internes pour des raisons de perfection.Faites la solution de contournement que j'ai écrit à http://typescript.codeplex.com/workitem/4 Pour étendre les types intégrés sans erreur dans le service de langue dans VS.