Typescript: Augmentarea built-in tipuri

voturi
14

cum unul mări unul dintre tipurile de „built-in“? de exemplu, Array?

În JS, aș face ceva de genul

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

ceea ce este echivalentul dactilografiat?

Întrebat 03/10/2012 la 05:05
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
20

Tipurile sunt „deschise sa încheiat“ dactilografiat, astfel încât să puteți scrie doar:

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

Și apoi tipul este extins pentru a include noua funcție (și aveți posibilitatea să atribuiți o funcție potrivită semnătura acestuia).

Rețineți totuși că extinderea încorporat tipuri (cele din lib.d.ts - cum ar fi Array) are o problemă în prezent în serviciul lingvistic, deoarece cache - uri cele pe plan intern din motive perf. Face workaround am scris-up la http://typescript.codeplex.com/workitem/4 pentru a extinde fără built-in tipuri de erori în serviciul lingvistic în VS.

Publicat 03/10/2012 la 05:23
sursa de către utilizator

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