Come dichiarare metodo bind di funzione per dattiloscritto

voti
1

Sto cercando di usare Mootools insieme dattiloscritto. Mootools, e alcuni browser moderni supportano .bind metodo, che è polimorfa.

Come posso correttamente dichiaro questa funzione in un file * .d.ts, per essere in grado di utilizzare costrutti come [1,2] .map (this.foo.bind (questo)); ?

So di poter evitare tali costrutti utilizzando lambda, ma a volte io non voglio.

Forse c'è un file di mootools.d.ts da qualche parte che ho potuto scaricare invece di reinventare me stesso?

È pubblicato 08/10/2012 alle 17:35
fonte dall'utente
In altre lingue...                            


2 risposte

voti
1

lib.d.ts del dattiloscritto definisce già la firma della funzione bind nell'interfaccia funzione come segue:

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

Non credo ci sia un modo migliore di farlo fino a quando i generici vengono aggiunti alla lingua.

Per il momento, però, se si desidera utilizzare bind e il destinatario della funzione risultante si aspetta una firma specifica, si sta andando ad avere per lanciare la funzione di nuovo a che la firma:

var bfn : (p: number) => string;
bfn = <(p: number) => string> fn.bind(ctx);
Risposto il 08/10/2012 a 19:03
fonte dall'utente

voti
0

C'è un crescente elenco di file di definizione essere monitorati qui .

Per quanto riguarda la generazione di metodi di pre-legato a loro questo puntatore a macchina che ho suggerito due modi per farlo. 1) una semplice classe base di I definita al termine di questa discussione . e 2) un sistema mixin & attributo più avanzato qui .

Risposto il 08/10/2012 a 18:48
fonte dall'utente

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