iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
Software Development

Functional Programming in JS 系列

身為寫了好幾年 javaScript 的前端工程師,卻天真以為會 map、reduce 就代表懂 Functional Programming,但完全大錯特錯啊,這個領域古老又博大精深,雖然不算好入門但入坑後就會愛上他。這系列會盡量用淺顯的範例圖文跟大家一起學習函數式編程,從最基本的 pure function、immutable 、HOF 到 composition、functor 、monad...還有如何運用在專案中。另外還有篇幅的話也會順便分享被迫 Work From Home 超過半年的日子。

鐵人鍊成 | 共 30 篇文章 | 231 人訂閱 訂閱系列文 RSS系列文
DAY 11

Higher-order function

FP 原則就是把 Function 作抽象化並極小化,Higher-order function 也就是抽象函式的一種,抽象式內容不包含執行步驟的細節,而是在...

2020-09-11 ‧ 由 hannahpun 分享
DAY 12

實作經典 HOF 之 filter、map、reduce

備註:關於昨天的 Higher-order function 覺得寫的不夠白話,所以回去大改了一下,然後把實作 filter 拉到此篇。 自己面試時被考過好...

2020-09-12 ‧ 由 hannahpun 分享
DAY 13

[補充] HOF 的好友 HOC (Higher-Order Component)

了解 HOF (Higher-Order Function) 之後,就順便來補充他的好麻吉 Higher-Order Component (以下簡稱 HOC),...

2020-09-13 ‧ 由 hannahpun 分享
DAY 14

Currying

自己第一次聽到 Curry 腦中只浮現以上 XD,認真研究後也是有看沒懂。但比較習慣用 Functional Programming 寫程式後就發現其實 Cu...

2020-09-14 ‧ 由 hannahpun 分享
DAY 15

[練習] Currying Exercise

Practice 1 接下來題目都會像以下先列出範例 input、output 跟對應的型別 Input: str = 'Jingle bells Batma...

2020-09-15 ‧ 由 hannahpun 分享
DAY 16

Composition

FP 精華就是抽象化並拆分成最小單位,一開始也許會覺得多餘,但 FP 中每一個 function 都是可以再利用的,在中大型專案尤其好用 (畢竟你永遠無法知道未...

2020-09-16 ‧ 由 hannahpun 分享
DAY 17

[補充] Ramda.js

接下來的練習想直接用 Ramda.js 因為會簡潔很多,所以這一篇先來簡單介紹一下 Ramda What's Ramda? A practical func...

2020-09-17 ‧ 由 hannahpun 分享
DAY 18

[練習] Composition Exercise

這一篇的解答會盡量用 Ramda.js 因為會變很簡潔,若還不熟可以看我上一篇[補充] Ramda.js。 Practice 1 把以下改成 Composi...

2020-09-18 ‧ 由 hannahpun 分享
DAY 19

Pointfree

Tacit programming, also called point-free style, is a programming paradigm in w...

2020-09-19 ‧ 由 hannahpun 分享
DAY 20

Functor 1: 概念篇

接下來進入 FP 離奇的部分了,聽說一進入這領域就會喪失跟別人解釋的能力,自己也不是這麼熟,若有錯誤或建議歡迎底下留言。 A functor is simp...

2020-09-20 ‧ 由 hannahpun 分享