【こうかいかんすう】
高階関数 とは?
最終更新:
💡 関数を「部品」として受け取る工場長のような関数
関数を引数として受け取ったり、関数を戻り値として返したりする関数のことで、コードの再利用性と抽象度を高める関数型プログラミングの基本概念。
📌 このページのポイント
関数に関数を渡すってどういうこと?
たとえば [1, 2, 3].map(x => x * 2) では、mapに「各要素を2倍する関数」を渡しているよ。結果は新しい配列 [2, 4, 6]。渡す関数を変えれば、各要素に行う処理を差し替えられるんだ。
map、filter、reduceはどう違うの?
渡す関数も高階関数なの?
関数を返す例もある?
const multiplier = n => x => x * n; なら、multiplier(3) は引数を3倍する関数を返すよ。その関数に4を渡すと12になる。関数を返すmultiplierも、高階関数の例だね。
それがクロージャなの?
まとめ:ざっくりこれだけ覚えればOK!
「高階関数」って出てきたら「関数を受け取ったり返したりする関数」と思えばだいたいOK!
📖 おまけ:英語の意味
「higher-order function」 = 高次の関数
💬 数学の「高階」と同じで、関数そのものを操作対象にする一段上の抽象レベルの関数