「30 天的 Functional Programming 之旅」將用 JavaScript 帶領大家逐步探索 Functional Programming 的世界,系列內容結合《Grokking Simplicity》與《Mostly Adequate Guide》和其他網路資源,從程式中的三大元素 Action、Calculation、Data 出發,認識不可變性的價值,進而學習函數組合、柯里化、Functor、Monad、Applicative 等核心模式。希望透過這段旅程,不僅讓大家認識 FP 的工具,更能體會其中的設計哲學,並在日常開發中找到重構與思考程式的新角度。
前言 在過去幾篇文章中,我們認識了 Functor 這個 FP 工具,透過 .map,我們學會了如何在一個「容器」或「上下文 (context)」內,對值進行...
前言 在上一篇文章中,我們學會了 Monad 的實用工具 chain,它透過結合 map 和 join 來解決巢狀容器問題,讓我們的函數組合保持流暢。今天會再...
前言 在前面的文章中,我們認識了 Functor 和 Monad。Functor 透過 map 方法,讓我們能將一個普通的函數應用到被包裹在 context(...
前言 昨天認識了什麼是 Applicative,今天會再介紹 Applicative 要遵守的定律,以及更多應用範例~ Applicative 的定律 就像...
前言 前面幾篇文章介紹了一些 FP 世界中的容器工具如 Functor、Monad、Applicative 等,其實還有很多沒有介紹到,例如 Reader、S...
前言 跳脫 FP 的容器世界,今天想輕鬆一點,今天想介紹的是 Generator function,而 Generator function 為什麼會和 FP...
前言 今天要介紹的是我期待已久的 RxJS! RxJS 博大精深,甚至可以用一整個鐵人賽系列文來介紹(在此推推 30 天精通 RxJS和打通 RxJS 任督二...
前言 今天會接續昨天的 RxJS 介紹,繼續介紹 flatten operator,以及如何自己打造簡易 Observable,最後以 FP 視角再次檢視 O...
前言 FP 系列的最後,想進一步看看,在軟體設計的世界裡,到底哪些東西和 FP 相關,哪些技術和工具其實背後借鏡了 FP 的原理,藉此將 FP 的抽象概念與實...
這是第二次參與鐵人賽,還是很感動終於完成! 系列文總結 先來回顧一下此次系列文包含的主題: [Day 01] 系列文動機與大綱 Functional...