Destinazione: aumentando i tipi integrati
-
12-12-2019 - |
Domanda
Come si aumenta uno dei tipi "incorporati"?ad es. array?
In JS, farei qualcosa come
Array.prototype.shuffle = function () { ... };
.
Qual è l'equivalente in dattilografia?
Soluzione
I tipi sono "open terminati" in dattilvi, in modo da poter scrivere:
interface Array {
shuffle: () => any; // <-- Whatever signature you want.
}
.
E poi il tipo viene espanso per includere la nuova funzione (e puoi assegnare una funzione corrispondente alla firma ad essa).
Nota Tuttavia che estendendo i tipi integrati (quelli in lib.d.ts - come array) ha un problema attualmente nel servizio linguistico, in quanto memorizza quelli internamente per ragioni internamente per perf.Fai la soluzione alternativa che ho scritto a http://typescript.codeplex.com/workitem/4 Per estendere i tipi incorporati senza errori nel servizio linguistico in VS.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow