「関数型プログラミング」の手法を、その定義からそれぞれの要素と仕組みを丁寧に解説した書籍です。今まではHaskellやScalaといった、「関数型プログラミングスタイルがピッタリフィットする言語」で学ぶ・実践することが多かった関数型プログラミングについてJavaScriptを使って導入する初めての書籍です。
https://www.ohmsha.co.jp/book/9784873116600/
正誤表やDLデータ等がある場合はこちらに掲載しています
Jeremy Ashkenasによるまえがき
Steve Vinoskiによるまえがき
訳者まえがき
はじめに
1章 関数型JavaScriptへのいざない
1.1 JavaScriptに関する事実
1.2 関数型プログラミングを始めるために
1.3 Underscoreについて
1.4 まとめ
2章 第一級関数と作用的プログラミング
2.1 第一級要素としての関数
2.2 データ思考
2.3 まとめ
3章 JavaScriptにおける変数のスコープとクロージャ
3.1 グローバルスコープ
3.2 静的スコープ
3.3 動的スコープ
3.4 関数スコープ
3.5 クロージャ
3.6 まとめ
4章 高階関数
4.1 引数として関数をとる関数
4.2 他の関数を返す関数
4.3 すべてを結集:オブジェクトバリデータ
4.4 まとめ
5章 関数を組み立てる関数
5.1 関数合成の基礎
5.2 変異は低レイヤーでの操作
5.3 カリー化
5.4 部分適用
5.5 並べた関数を端から端までcompose関数でつなぎ合わせる
5.6 まとめ
6章 再帰
6.1 自身を呼ぶ関数
6.2 再帰多すぎ!(トランポリンとジェネレータ)
6.3 再帰は低レイヤーでの操作
6.4 まとめ
7章 純粋性、不変性、変更ポリシー
7.1 純粋性
7.2 純粋と不純を分離する
7.3 不変性
7.4 変更コントロールのポリシー
7.5 まとめ
8章 フローベースプログラミング
8.1 チェーン
8.2 パイプライン
8.3 データフロー対コントロールフロー(制御構造)
8.4 まとめ
9章 クラスを使わないプログラミング
9.1 データ指向
9.2 Mixin
9.3 }).call("Finis");
付録A 世の中の関数型JavaScript
A.1 JavaScriptの関数型ライブラリ
A.2 Functional JavaScript
A.3 JavaScriptをターゲットにした関数型プログラミング言語
付録B 注釈付き参考書目
B.1 書籍
B.2 プレゼンテーション
B.3 ブログ
B.4 論文
付録C 本書に登場するUnderscoreの関数
索引