はじめに 普段はReactやReactNativeを使ってWebやネイティブアプリ開発を行っています。 これらを扱っていくにあたり、関数型プログラミングの考え方に触れることが多く、ひいては「高階関数」や「カリー化」といった用語の理解が必要となります。 人に教えていくと、このあたりのイメージが掴みにくいようなので、いったんソースを追う形で整理していきたいと思います。 なお、この記事ではReactやReactNativeを利用しない方のために「高階関数」と「カリー化」の説明に留めています。 「高階コンポーネント」についてはいずれ別記事にて解説していく予定です。 第一級関数 高階関数を理解するにあたって「第一級関数」という用語を知っておく必要があります。 第一級関数のWikipediaには以下のような説明があります。 関数を第一級オブジェクトとして扱うことのできるプログラミング言語の性質、または