関数型プログラミングはプログラミング パラダイムです
1 関数は最初の市民です。値を返すことも、他の関数のパラメーターとして使用することもできます
1 2 3 4 5 6 7 8 9 10 |
|
2 自然言語に近い書き方
シャオチーは食事を終えて風呂に入りました。 Eat().bathe()
と表現できます。1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
関数型プログラミングの 3 つの特徴
関数型プログラミングでは、匿名関数、つまり名前のない関数が非常に一般的で、関数を完成させるためにそれら (未使用の関数) を使用する必要があることがあります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
カリー化: カリー化は、複数のパラメーターを受け入れる関数を 1 つのパラメーター (元の関数の最初のパラメーター) を受け入れる関数に変換し、残りのパラメーターを受け入れて結果を返す新しい関数を返す手法です。
1 2 3 4 5 6 7 8 |
|
高階関数: パラメータとして関数がある場合、または関数が内部で関数を返す場合、その関数を高階関数と呼ぶことができます。上記の各関数は高階関数の一種と考えられます。
結論
実際のアプリケーションでは、関数型またはオブジェクト指向に限定されず、通常はこの 2 つが混合されています。実際、多くの主流のオブジェクト指向言語は、いくつかの機能を追加するなど、常に改良されています。待てよ、JavaScript では、この 2 つのコードが非常にシンプルで美しいだけでなく、デバッグも簡単になります。