コンパイラかく語りき

import { Fun } from 'programming'

【関数型プログラミング】JavaScriptの高階関数を書いてみる

いまこちらの本を読んでいます。

f:id:chuck0523:20151109211900j:plain

JavaScriptで学ぶ関数型プログラミング

 

まだ半分しか読んでいませんが、ちょっとメモしておきます。

今回は高階関数について。

 

JavaScriptには高階関数というものがあります。

書籍によると、その定義は

関数を引数にとる

関数を戻り値にとる

とのこと。

 

要はこんな感じです。

gist95fdb58c9d155fc397b2

 

書いた

書きました。

gistb168a62d230dd1c0936f

 

これは、自己紹介のための関数です。

 

初めに情報をまとめた変数があります。

その次に自己紹介の関数があり、最後に形を変えて何度か実行しています。

 

ファイルを実行するとこのようになります。

f:id:chuck0523:20151109212830p:plain

 

見づらいですが、要は関数が4回実行されています。

ただし、引数に渡す関数が異なるので、実行結果も異なります。

同じ関数なのに、違う結果を出力します。

 

ここで重要なのは、自己紹介をする関数は自己紹介のみをするということです。

他の余分な処理を行いません。

 

JavaScriptで学ぶ関数型プログラミング」によると、これこそが関数型プログラミングの基本のようです。

このようなシンプルで抽象化された関数を使うのが、関数型プログラミングです。

 

今日はここまで。次回はもう少し複雑な関数を書いてみたいと思います。