內容簡介
大神降臨 - JavaScript前端大師養成祕笈
內容簡介
在後端,函數式語言層出不窮。在前端,函數式最後的邊界也已經
被漸漸打破。Scala的Scala.js、Clojure的ClojureScript都試圖同構
移向前端。原生JavaScript其實也可以透過豐富的函數庫,讓前端的
函數式程式設計一樣的舒適和優雅。
本書涵蓋大部分函數式程式設計思想,包括JavaScript的函數式支援,Clojure風格的集合、遞迴、函數組合、巨集、模式匹配、實用的Monads,以及前端的併發程式設計。
適用:想要瞭解函數式程式設計的JavaScript程式師,或想學習JavaScript的函數式程式師。
內容簡介
在後端,函數式語言層出不窮。在前端,函數式最後的邊界也已經
被漸漸打破。Scala的Scala.js、Clojure的ClojureScript都試圖同構
移向前端。原生JavaScript其實也可以透過豐富的函數庫,讓前端的
函數式程式設計一樣的舒適和優雅。
本書涵蓋大部分函數式程式設計思想,包括JavaScript的函數式支援,Clojure風格的集合、遞迴、函數組合、巨集、模式匹配、實用的Monads,以及前端的併發程式設計。
適用:想要瞭解函數式程式設計的JavaScript程式師,或想學習JavaScript的函數式程式師。
作者簡介
歐陽繼超 ThoughtWorks
高級諮詢師,活躍開源貢獻者(github.com/jcouyang),熱愛程式設計與寫作。
高級諮詢師,活躍開源貢獻者(github.com/jcouyang),熱愛程式設計與寫作。
內容目錄
前言
01 函數式JavaScript
1.1 JavaScript 也是函數式語言嗎
1.2 作為函數式語言,JavaScript 還差些什麼
1.3 Underscore 你錯了
1.4 小結 .
02 集合
2.1 集合的使用
2.2 持久性資料結構
2.3 不可變性
2.4 惰性序列
2.5 小結
03 遞迴
3.1 不可變性與遞迴
3.2 柯里悖論
3.3 尾遞迴最佳化
3.4 蹦跳樂園(Trampoline)
3.5 小結
04 函數組合
4.1 Underscore 到底做錯了什麼
4.2 柯里化有什麼用
4.3 Transducer
4.4 組合與管線
4.5 小結
05 Macro 巨集
5.1 什麼是REPL
5.2 為什麼要語法糖
5.3 Sweet.js
5.4 Infi x Macro 和Operator
5.5 小結
06 模式比對
6.1 Destructure
6.2 Arity 函數
6.3 Fizz Buzz
6.4 代數資料類型(ADT)
6.5 小結
07 Monadic 程式設計
7.1 鏈式呼叫
7.2 Monad
7.3 走鋼絲
7.4 Monad 在JavaScript 中的應用
7.5 Reactive 程式設計
7.6 小結
08 平行處理程式設計
8.1 什麼是平行處理
8.2 通訊順序處理程序(CSP)
8.3 使用Generator 實現CSP
8.4 實戰CSP
8.5 小結
參考資料
01 函數式JavaScript
1.1 JavaScript 也是函數式語言嗎
1.2 作為函數式語言,JavaScript 還差些什麼
1.3 Underscore 你錯了
1.4 小結 .
02 集合
2.1 集合的使用
2.2 持久性資料結構
2.3 不可變性
2.4 惰性序列
2.5 小結
03 遞迴
3.1 不可變性與遞迴
3.2 柯里悖論
3.3 尾遞迴最佳化
3.4 蹦跳樂園(Trampoline)
3.5 小結
04 函數組合
4.1 Underscore 到底做錯了什麼
4.2 柯里化有什麼用
4.3 Transducer
4.4 組合與管線
4.5 小結
05 Macro 巨集
5.1 什麼是REPL
5.2 為什麼要語法糖
5.3 Sweet.js
5.4 Infi x Macro 和Operator
5.5 小結
06 模式比對
6.1 Destructure
6.2 Arity 函數
6.3 Fizz Buzz
6.4 代數資料類型(ADT)
6.5 小結
07 Monadic 程式設計
7.1 鏈式呼叫
7.2 Monad
7.3 走鋼絲
7.4 Monad 在JavaScript 中的應用
7.5 Reactive 程式設計
7.6 小結
08 平行處理程式設計
8.1 什麼是平行處理
8.2 通訊順序處理程序(CSP)
8.3 使用Generator 實現CSP
8.4 實戰CSP
8.5 小結
參考資料
ISBN: 9789863794813