見出し画像

TypeScript 入門の記録(47)プロを目指す人のためのTypeScript入門(31)関数の作り方(1)

「CircleCI から GitHub Actions に移行したいな~。」という野望は、イベント対応の傍ら、cronを使った定期実行のテストができたので「少し進捗あり」です。がんばった!さて、今回から「プロを目指す人のためのTypeScript入門」第4章「関数」に入ります。やっぱ関数が使えないと、実務では対応できないと思いますし、しっかり理解したいところです。

関数の作り方(1)

関数は、他のプログラミング言語でもおなじみです。TypeScriptの関数は、値の一種として扱われるそうなので、TypeScriptならではの作り方や使い方も理解して使えるようになりたいので、丁寧に見ていきます。

関数宣言

TypeScriptの関数宣言は、function 関数名(引数リスト):返り値の型 {中身} という構文です。
また、関数は、巻き上げ(hoisting)によって、スコープ内であれば関数宣言より前に使うことができます。

スコープ内であれば、関数宣言より前でも使うことができる

返り値がない関数

返り値がない関数は、void型で宣言します。void型も、他のプログラミング言語でおなじみなので、違和感はありません。

返り値がない関数はvoid型で宣言する

return文とセミコロン省略の罠の確認

セミコロンは省略可能なので、関数の返り値のreturn文の場合も同様です。が、return に続く式の結果を返したいのに、return で改行してしまうと、returnの後は処理されないため、コンパイルエラーになるんですね。セミコロンが種略できてすっきりする一方で、改行位置には注意が必要という罠があることがわかりました。気をつけよう…

returnの後の式には到達できないのでコンパイルエラー

関数式

関数宣言とは別の関数の作り方、関数式について学習します。TypeScriptでコードを書く場合に、文より式で書いたほうが良いとどこかで読んだ気がします。関数も値の一種であることを理解して、関数式は頭に入れておきたいと思います。

関数式
引数を分割代入にした場合

分割代入も、パッと浮かばないので、これも繰り返し使って慣れていきたいです…

アロー関数式

アロー関数式はよく目にしますし、TypeScriptらしい書き方だと思います。これをサクッと書けるようになりたい…
アロー関数式の構文は、(引数リスト):返り値の型 => {中身}です。

分割代入版を更にアロー関数に

アロー関数式の省略形

アロー関数は、簡単な関数を定義する際に省略形で書くことができます。アロー関数の省略形は、コールバック関数でよく採用される構文だそうです。複雑な処理を書くのには向かないけれど、出番が多そうなので、まずはコードを読めるようになるのを目指そうと思います。

アロー関数式の省略形

まとめ

今日から関数の学習に入り、やっとプログラミングらしい内容になった感じです。アロー関数式はよく目にするのですが、サッと処理内容が頭に浮かばないことがあるので、読解力を上げていきたいと思います。
今日はここまでにします。続きは、次の週末の予定です。


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