Part3:関数

海未「では関数ですが・・・実は、JavaScriptと大きくは変わりません。前回の型について理解していれば簡単でしょう」

海未「例を見てみましょう」

ことり「引数も変数宣言だから、型がついてるんだ」
穂乃果「最後のstringは?」
海未「TypeScriptでは、引数と戻り値それぞれに型があります。引数についてはことりの言う通り、戻り値は穂乃果が気にしている部分ですね」
穂乃果「じゃあ、文字列を返す関数、っていうことなんだ!」
海未「そうです。特に難しい部分はないはずです」

海未「アロー関数も使うことができます。これも型を宣言する必要があります。以前JavaScriptの言語仕様のときに」

海未「こんな関数を紹介しましたが、これをTypeScriptで書くと」

ことり「これも引数に型がつくんだね」
穂乃果「楽勝楽勝!」

海未「ここからが少しややこしくなります。関数を引数に取る関数がありますね。JavaScriptでは」

海未「これをTypeScriptに書き換えると考えてください」
穂乃果「えーっと、lhsとrhsには型をつければよくて、algorithm・・・あれ?」
ことり「algorithmって関数なんだよね。じゃあ、戻り値の型・・・かな?」
海未「いえ、関数の場合は引数と戻り値を明示する必要があります。そこでアロー関数の記法を使います」

海未「このように、string型の引数を2つ取ってstring型の戻り値を返す関数であると宣言します」
穂乃果「地味にめんどくさいんだけど・・・」
海未「プログラマのスキルレベルが期待できない状況では高階関数はバグの温床ですから、きっちり覚えてください!」

海未「関数について覚えるべきはこのくらいです。・・・まあ、確かに書き方は煩雑になりますが、それなりの恩恵はありますから我慢してください」
ことり「はーい♪」
穂乃果「はーい・・・」
海未「次回はクラスについて見てみましょう。JavaScriptと大きく変わる部分です」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です