Dattiloscritto: Aumentare tipi built-in

voti
14

come si fa a aumentare uno dei tipi 'built-in'? es Array?

In JS, mi piacerebbe fare qualcosa di simile

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

che cosa è l'equivalente a macchina?

È pubblicato 03/10/2012 alle 05:05
fonte dall'utente
In altre lingue...                            


1 risposte

voti
20

Tipi sono 'Open Ended' a macchina, in modo da poter solo scrivere:

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

E poi il tipo è ampliato per includere la nuova funzione (ed è possibile assegnare una funzione corrispondente alla firma ad esso).

Si noti tuttavia che l'estensione del built-in tipi (quelli lib.d.ts - come Array) presenta un problema attualmente in servizio linguaggio, come quelli cache internamente per motivi perf. Fare la soluzione che ho scritto-up a http://typescript.codeplex.com/workitem/4 di estendere la tipi built-in senza errori nel servizio lingua in VS.

Risposto il 03/10/2012 a 05:23
fonte dall'utente

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