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 篇文章 | 225 人訂閱 訂閱系列文 RSS系列文
DAY 1

達標好文 開始用 javaScript 學 Functional Programming 囉之前言

↑ 一定要知道的 FP 核心之概念 one input, one output 自我介紹一下 完全跟軟體無相關科系畢業,非常非常喜歡前端這個工作 (這行大家都喜...

2020-09-01 ‧ 由 hannahpun 分享
DAY 2

達標好文 為什麼要學 Functional Programming?

What's Functional Programming A programming paradigm where programs are constru...

2020-09-02 ‧ 由 hannahpun 分享
DAY 3

Buzz Word 1 : Declarative vs. Imperative

前一篇算是站在一個 High Level 角度大略說明 FP 好處,這一篇開始會有一系列 Buzz Words for FP 的介紹,這些專有名詞也算是讓新手卻...

2020-09-03 ‧ 由 hannahpun 分享
DAY 4

Do Everything with Function

在介紹下一個 Buzz Word 之前,要先來介紹 FP 中最重要的主角 - Function FP 的核心思想就是透過 function 來解決各種問題!與其...

2020-09-04 ‧ 由 hannahpun 分享
DAY 5

Buzz word 2 : Side Effect

什麼是 Side Effect? 吃藥時,藥包上都會註明可能會有什麼副作用,Side Effect 就是這個意思,也就是除了主要的作用外,可能會產生的額外作用...

2020-09-05 ‧ 由 hannahpun 分享
DAY 6

Buzz Word 3 : Immutable vs. Mutable Data

若今天有一個要送人的水果藍,裡面依序放了西瓜、葡萄、酪梨。 const basket = ['watermelon', 'grapes', 'avocado']...

2020-09-06 ‧ 由 hannahpun 分享
DAY 7

把 Mutable array/object 轉成 Immutable

JS 有許多原生方法都是 impure 的,而 mutable data 容易產生預期外的 side Effect 也是造成 Bug 的主要來源之一,當然你可以...

2020-09-07 ‧ 由 hannahpun 分享
DAY 8

Buzz word 4 : Stateless

準確一點應該是 Stateless function,更語意一點就是 Avoid Shared State,因為一個系統中不太可能全部都是 Stateless...

2020-09-08 ‧ 由 hannahpun 分享
DAY 9

Buzz word 5 : Pure Function

在 javaScript 世界中我們可以把 function 區分為 Impure Function 有回傳但也有 Side Effect 沒有回傳 Pur...

2020-09-09 ‧ 由 hannahpun 分享
DAY 10

[練習] 玩轉 pure/impure function

花了鐵人賽 1/3 篇數都在講 pure function,這一篇就帶到實務來玩一下選擇題之哪些是 pure/impure function 吧 var xs...

2020-09-10 ‧ 由 hannahpun 分享