TypeScriptで、関数を型にする
Typescriptの型として、
「number」「string」「boolean」などとありますが、
実は、関数も型にできます!
1 | var function1:(arg1:number, arg2:string)=>boolean; |
こんな感じ。
1 | (引数名:型, 引数名:型 .....)=>戻り値 |
戻り値がないときは、void
を指定できます。
どんなときにつかうの?
コールバック引数を使いたい
1 | function progressA(callback: (msg:string)=>void) { |
関数を配列とする
1 | var fnArray:Array<(msg:string)=>void> = []; |
AddEventListenerの引数にも!
lib.d.tsを見てみると、
1 | addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; |
引数listener
の型にも使われています!
TypeScript楽しい!奥深い!