函數式編程(Functional Programming)的技巧在 JavaScript 發展已有段時間: NodeJS 的 callback style、Array 的 map 和 reduce、Promise、Observable、以及 React 等都有函數式編程的觀念在其中。但函數式編成中還有另一更好用的工具:代數資料類型(Algebraic Data Type),它讓我們能用更抽象的語言描述程式,從複雜的邏輯中抽出共用的部分,精練程式碼。Fantasy Land Specification 定義了在函數式編程中常見的各種代數(Algebra),例如 Functor、Applicative、Monad,讓我們用 JavaScript 也能享受函數式編程的美好。

Comments

Comments are closed.