:::相關網站

:::會員服務|快速功能

  • 今日66折
  • 天天BUY
開學書展66折起
前端函數式攻城指南

前端函數式攻城指南

  • 定價:354
運送方式:
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖、全球
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
    香港、澳門、新加坡、馬來西亞
載入中...
 

內容簡介

在后端,函數式語言層出不窮。在前端,函數式最后的邊界也已經被漸漸打破。Scala的Scala.js、Clojure的ClojureScript都試圖同構移向前端。然而,原生JavaScript其實也可以通過豐富的庫讓前端的函數式編程一樣的舒適和優雅。

本書涵蓋了大部分函數式編程思想,包括JavaScript的函數式支持,Clojure風格的集合、遞歸、函數組合、宏、模式匹配、實用的Monads,以及前端的並發編程。本書適合想要了解函數式編程的JavaScript程序員或者想學習JavaScript的函數式程序員閱讀。

歐陽繼超,ThoughtWorks高級咨詢師,活躍開源貢獻者(github.com/jcouyang),熱愛編程與寫作,譯有《函數式JavaScript》以及若干開源書籍與文檔。
 

目錄

第1章 函數式JavaScript1
1.1 JavaScript也是函數式語言嗎1
1.1.1 編程范式1
1.1.2JavaScript的函數式支持3
1.2 作為函數式語言,JavaScript還差些什麼10
1.2.1不可變數據結構11
1.2.2惰性求值11
1.2.3函數組合12
1.2.4尾遞歸優化13
1.3Underscore你錯了14
1.3.1跟大家都不一樣的map函數14
1.3.2 ClojureScript16
1.3.3 Mori17
1.4小結18

第2章 集合19
2.1 集合的使用20
2.1.1 向量(vector)20
2.1.2 Map23
2.1.3 函數組合子24
2.2 持久性數據結構27
2.2.1 向量的持久性數據結構28
2.2.2 最后一片葉子不完整31
2.2.3 所有葉子完整且葉子個數不大於完全樹的葉子個數32
2.2.4 所有葉子完整且葉子個數大於完全樹的葉子個數34
2.3 不可變性35
2.3.1 致命魔術36
2.3.2 引用透明性38
2.3.3 函數式React40
2.3.4 線程不安全42
2.4 惰性序列44
2.4.1 改良奧利奧吃法44
2.4.2 惰性求值與及早求值46
2.4.3 惰性求值的實現48
2.5 小結50

第3章 遞歸51
3.1 不可變性與遞歸51
3.1.1 真的需要循環嗎52
3.1.2 遞歸還是循環54
3.2 柯里悖論55
3.2.1 Y組合子57
3.2.2 棧是多麼容易爆60
3.3 尾遞歸優化62
3.4 蹦跳樂園(Trampoline)64
3.4.1 有窮狀態機(DFA)65
3.4.2 Trampoline67
3.5 小結69

第4章 函數組合70
4.1 Underscore到底做錯了什麼70
4.1.1 自由(Free)變量與約束(Bound)變量72
4.1.2 閉包74
4.2 柯里化有什麼用75
4.3 Transducer78
4.3.1 Reducer79
4.3.2 來看看更好更快的解法79
4.3.3 Reducer80
4.3.4 Reducible81
4.3.5 Transducer詳解82
4.3.6 跟柯里化有什麼區別83
4.4 組合與管道84
4.4.1 管道(Pipeline)84
4.4.2 組合與管道86
4.4.3 管道函數87
4.5 小結87

第5章 Macro宏89
5.1 什麼是REPL89
5.1.1 宏擴展器(Macro Expander)90
5.1.2 那麼前端怎麼辦92
5.2 為什麼要語法糖93
5.2.1 只是為了語法漂亮嗎94
5.3 Sweet.js94
5.3.1 Rule Macro95
5.3.2 Case Macro97
5.4 Infix Macro和Operator104
5.4.1 Infix Macro104
5.4.2 自定義操作符105
5.5 小結106

第6章 模式匹配107
6.1 Destructure107
6.1.1 對象109
6.1.2 數組109
6.1.3 函數109
6.2 Arity函數110
6.3 Fizz Buzz111
6.3.1 字面匹配(Literal Matching)111
6.3.2 綁定113
6.3.3 Vector與Map匹配113
6.3.4 Guard114
6.3.5 Sparkler114
6.4 代數數據類型(ADT)116
6.5 小結118
……
第7章 Monadic編程119
第8章 並發編程154
參考資料174
 

函數式編程可以說是非常古老的編程方式,但是近年來函數式編程越來越受到人們的關注。不管是Google力推的Go、學術派的Scala與Haskell,還是Lisp的新方言Clojure,這些新的函數式編程語言都越來越受到人們的關注。
 

詳細資料

  • ISBN:9787121297243
  • 規格:175頁 / 21 x 14.8 x 1.5 cm / 普通級 / 1-1
  • 出版地:大陸
 

主題活動

最近瀏覽商品

 

相關活動

  • 寫程式一點都不難!從入門到專業,程式語言展59折起
 

購物說明

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 生活書展2本75折
  • 開學書展66折起
  • 語言書展

訂閱電子報

想獲得最新商品資訊,請訂閱免費電子報