1.2 Function Types

2016-08-11


TypeScriptは関数の型を定義できる!これでコールバックとかのミスマッチをコンパイルエラーで検出できるよ!
  • JavaScriptのFunctionはイベントハンドラーとかコールバックに使うよね。引数で渡したりとか。
  • TypeScriptはFunctionの型を定義できます。引数に渡したりするときに型の指定があるとどんな関数を渡せばいいかわかるので便利だよね!
  • ここでfunctionはclosureを作るのに使うよね、って話がしてある。恥ずかしながらclosureって「なんか関数の一種」ってあんまりな理解だったんだけど、いい機会なのでオベンキョしてみた。「状態を保持する関数」ってのがわかりやすかった。内部関数を定義して、親関数の変数(=状態)を使って動作するみたいな。で、今回勉強してなんで知らんかったかわかった気がした。オブジェクト指向というかクラス畑で育ったのでメソッドって別の単語があったからかな、と。JavaScriptだとクラスがないので全部関数で作っちゃう。関数を関数で囲んで状態を保持するようにするので、ただの関数と区別するためにクロージャって単語を持ってきた?って理解。なんかJavaScriptってこんがらがると思ってたんだけど関数って単語にいろんな意味があるからかなー、と思いました、まる。