関数

読み

かんすう

意味

  • 特定の処理をまとめて名前を付けた再利用可能なコードのブロックで引数を受け取り戻り値を返すプログラムの基本単位
  • コードの重複を避け保守性を高めるための重要な概念で関数型プログラミングではファーストクラスオブジェクトとして扱われる
  • 組み込み関数・ユーザー定義関数・無名関数(ラムダ式)・高階関数など様々な種類があり言語によって書き方や機能が異なる

比喩

料理のレシピのようなもの。材料(引数)を入れて手順通りに処理すると料理(戻り値)ができあがる。

語源

function = 機能・関数。ラテン語のfungi(果たす・実行する)が語源

例文

  • calculateTax関数を定義して税込価格を計算する処理を再利用可能にし複数箇所から呼び出している
  • JavaScriptのmap関数で配列の各要素に処理を適用し新しい配列を生成している
  • Pure Functionとして副作用のない関数を設計しテストしやすく予測可能なコードを実現した

よくある勘違い

  • 関数とメソッドを混同すること → メソッドはオブジェクトに紐づいた関数
  • 関数が長すぎて単一責任原則に違反すること → 1つの関数は1つのことだけをすべき
  • グローバル変数を関数内で変更すること → 副作用が発生しバグの原因になる

関連用語