Cum de a declara metoda bind functiei pentru masina de scris

voturi
1

Am încercat să folosească Mootools împreună cu dactilografiate. Mootools, iar unele browsere moderne suporta .bind metoda, care este polimorfă.

Cum pot declara în mod corespunzător această funcție într-un fișier .d.ts *, pentru a fi capabil de a utiliza construcții, cum ar fi [1,2] .map (this.foo.bind (aceasta)); ?

Știu că pot evita astfel de construcții prin utilizarea Lambda, dar , uneori , nu vreau sa.

Poate că există un fișier în altă mootools.d.ts pe care am putut descărca în loc de reinventarea-o chiar eu?

Întrebat 08/10/2012 la 17:35
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
1

lib.d.ts typescript definește deja semnătura funcției bind în interfața de funcții, după cum urmează:

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

Nu cred că există vreo modalitate mai bună de a face asta până generice se adaugă la limba.

Pentru moment, deși, dacă doriți să utilizați bind și destinatarul funcției rezultat se așteaptă o semnătură specifică, vei trebui să arunce funcția înapoi la acea semnătură:

var bfn : (p: number) => string;
bfn = <(p: number) => string> fn.bind(ctx);
Publicat 08/10/2012 la 19:03
sursa de către utilizator

voturi
0

Există o listă tot mai mare de fișiere de definiție urmărite aici .

În ceea ce privește generarea de metode de pre-legat de acest indicator lor dactilografiat l - am sugerat două moduri de a face acest lucru. 1) o clasă de bază simplu am definit , la sfârșitul acestui fir . și 2) un sistem de mixin & atribut mai avansat aici .

Publicat 08/10/2012 la 18:48
sursa de către utilizator

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