Hvordan å erklære funksjonens bind metode for Loggfila

stemmer
1

Jeg prøver å bruke Mootools sammen med typescript. Mootools, og noen moderne nettlesere støtter .bind metoden, som er polymorfe.

Hvordan kan jeg riktig erklære denne funksjonen i en * .d.ts fil, for å kunne bruke konstruksjoner som [1,2] .map (this.foo.bind (denne)); ?

Jeg vet jeg kan unngå slike konstruksjoner ved hjelp lambdaene, men noen ganger jeg ikke vil.

Kanskje det er en mootools.d.ts fil et som jeg kunne laste ned i stedet for å gjenoppfinne det selv?

Publisert på 08/10/2012 klokken 16:35
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Maskinskrevet manuskript er lib.d.ts definerer allerede er bindingsfunksjonen signatur i funksjonsgrensesnitt som følger:

bind(thisArg: any, ...argArray: any[]): Function;

Jeg tror ikke det er noen bedre måte å gjøre det før generika få lagt til språket.

For tiden er skjønt, hvis du ønsker å bruke bind og mottakeren av den resulterende funksjonen forventer en bestemt signatur, er du nødt til å kaste funksjonen tilbake til at signaturen:

var bfn : (p: number) => string;
bfn = <(p: number) => string> fn.bind(ctx);
Svarte 08/10/2012 kl. 18:03
kilden bruker

stemmer
0

Det er en voksende liste av definisjonsfiler spores her .

Som for å generere metoder forhånds bundet til sin denne pekeren i Loggfila jeg har foreslått to måter å gjøre dette. 1) en enkelt basisklasse I er definert ved enden av denne tråd . og 2) en mer avansert mixin & attributt system her .

Svarte 08/10/2012 kl. 17:48
kilden bruker

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