Skip to content

4.1 関数の作り方

TypeScriptで関数を作る方法はいくつかあり、それぞれ構文や特徴が異なります。また、引数の受け取り方や渡し方にも柔軟な機能が備わっています。

最も基本的な方法で、function キーワードを使用します。

  • 構文: function 関数名(引数: 型): 返り値の型 { ... }
  • 巻き上げ (hoisting): 関数宣言はその関数が定義される前の行からでも呼び出すことが可能です。

何も値を返さない関数の場合、返り値の型として void を指定します。

  • 特徴: return; と書くか、あるいは return 文そのものを省略できます。

関数を一つの「値」として扱い、変数に代入する形式です。

  • 関数式: const f = function(引数: 型) { ... };
  • アロー関数式: const f = (引数: 型) => { ... }; (モダンな開発で最も推奨されます)
  • アロー関数の省略形: 本文が単一の式の場合、{ return ...; } を省いて => 式 と記述できます。

オブジェクトのリテラルの中で関数を定義するための特別な記法です。

  • 構文: { プロパティ名(引数: 型) { ... } }

任意の数の引数を配列として受け取ります。

  • 記法: ...args: 型[]

オプショナル引数とデフォルト値

Section titled “オプショナル引数とデフォルト値”

引数を任意にしたり、省略時の値を設定したりできます。

  • オプショナル: name?: string(渡されない場合は undefined
  • デフォルト値: name: string = "Guest"

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

Section titled “関数呼び出しとスプレッド構文”

配列の中身をバラバラにして関数の引数に渡します。

  • 構文: sum(...nums)

関数を別の関数の引数として渡す手法です。これを受け取る関数を 高階関数 と呼びます。

  • 実用例: array.map(item => item * 2) のように、配列操作などで頻繁に利用されます。