見出し画像

TypeScript 入門の記録(48)プロを目指す人のためのTypeScript入門(32)関数の作り方(2)

今日は、JMLT vol.5 に参加して、LT発表してきました。「CircleCI から GitHub Actions に移行したいな~。」という野望は、イベント対応が大詰めで進捗ありません!さて、「プロを目指す人のためのTypeScript入門」第4章「関数」の続きです。

関数の作り方(2)

関数の作り方の続き。メソッド記法や可変長引数など、よく目にする構文が出てくるので、ここもしっかり理解していきたいです。

メソッド記法

関数のメソッド記法は、プロパティ名(引数リスト):返り値の型{中身}という形です。関数のメソッド記法は、オブジェクトリテラルの中で使用できるプロパティを定義する記法の一種です。メソッド記法は、直感的で何を意味しているかわかりやすいと思いました。でもアロー関数に慣れないと…

メソッド記法と通常+アロー関数の例

可変長引数

可変長引数は、関数が任意の数の引数を受け取れます。TypeScript では、可変長引数をrest構文を使います。引数リストの最後の1回だけ使えます。可変長なので、その後ろに明示的な引数は設定できないですよね。

可変長変数はrest構文で

関数呼び出しのスプレッド構文

関数の引数として期待されるのは配列なので、配列が持つ値を順番に関数の引数に渡すことができます。

引数がrest引数でないのでエラー

スプレッド構文で引数を渡すためには、要素数が不明な配列として揃える必要があります。

引数を(…num)に修正して要素数が不明なrest引数として渡せばOK

オプショナル引数

関数の引数には、オプショナル引数を持たせることができます。オプショナル引数は、デフォルト値の指定有無で構文が違います。デフォルト値を指定しない場合は 引数名?: 型 という構文で、省略された場合は 引数にundefined が渡されます。デフォルト値を指定する場合は 引数名:型 = 式 という構文で、省略された場合はデフォルト値の式が引数として渡されます。

関数のオプショナル引数はデフォルト値有無で構文が異なる

まとめ

今日は、ここまでにします。関数の作り方は、コールバック関数が残っているのですが、こちらは次の週末に学習する予定です。

いいなと思ったら応援しよう!