高階関数 【higher-order function】

概要

高階関数(higher-order function)とは、プログラミング言語の機能の一つで、関数を変数のように関数の引数として渡したり、返り値として返したりすることができるもの。

関数を変数のような第一級オブジェクト(第一級関数)として扱うことができる言語で利用できる機能で、呼び出し元から関数を引数として受け取ったり、返り値として関数を返したりする関数のことを高階関数という。

高階関数を用いると、関数内で行う処理の一部を(関数内のコードではなく)関数呼び出しの形にしておき、外部から渡す関数によってその処理を実行するといった仕組みにすることができる。実装済みで提供される標準ライブラリ関数などの挙動を開発者が変更あるいは追加することができる。

例えば、JavaScript配列であるArrayオブジェクトには値の大小に基づいて整列(ソート)するsortメソッドが用意されているが、引数として比較関数を渡すことができる。2つの値を比較して結果を正負の値で返す関数で、開発者が独自に比較ルールを定義することができる。

(2023.10.18更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。