iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Modern Web

致 JavaScript 開發者的 Functional Programming 新手指南 系列

「請問你知道什麼是 FP 嗎?」使用 JavaScript 這門程式語言開發網頁的工程師,或多或少曾經被你的面試官這麼問過吧。
然而真的去 Google 這個關鍵字時,會發現大部分的文章充滿「 Ramda 演算、純函式、高階函式、柯理化」等關鍵字、艱深且又學術的內容。
還沒開始研究,但已經感到壓力山大⋯⋯
《致 JavaScript 開發者的 Functional Programming 新手指南》,紀錄了一個新手開發者從零開始學習 FP 的學習脈絡,希望大家可以透過更簡單的方式了解這個設計模式,希望大家可以透過更簡單的方式了解這個設計模式,讓自己的程式碼更加脈絡化與系統化。

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

Day 1: 致 JavaScript 開發者的 Functional Programming 指南(修正版)

嗨,大家好!歡迎來到「致 JavaScript 開發者的 Functional Programming 指南」! 在切入到正題前,首先想要跟大家說說自己與 Ja...

2022-09-03 ‧ 由 Vivian Yeh 分享
DAY 2

Day 2 :初探設計典範(1):FP 的崛起、沒落、東山再起(修正版)

在前一章節中,我們曾經聊到初級前端工程師在撰寫或是學習 JavaScript 會遇到的元件封裝問題,但除了元件的封裝外,相信大家也會有以下疑惑: 要怎麼預防臭...

2022-09-04 ‧ 由 Vivian Yeh 分享
DAY 3

Day 3:初探設計典範(2):FP 簡介(修正版)

在前一章節中,我們花了很多的篇幅來聊 FP 這個程式設計的演進史,從中不難看出由於 JavaScript 的基因設定本來就會帶有多設計典範(Multi-para...

2022-09-05 ‧ 由 Vivian Yeh 分享
DAY 4

Day 4 :JavaScript 型別與他們的地雷(1): 基本型別與物件

在了解 FP 與 JavaScript 的歷史之後,有沒有覺得:「咦?設計模式其實也沒有離自己那麼遠嘛!」在繼續深入了解 FP 之前,讓我們來看看 JavaSc...

2022-09-06 ‧ 由 Vivian Yeh 分享
DAY 5

Day 5:JavaScript 型別與他們的地雷(2):{ } === { } ?

在上個章節,我們聊到 JavaScript 其實是一種非常容易、不小心就變動到變數值的一種語言,這其實與它底層運作的記憶體位置有關,這說起來有點抽象,我們先來看...

2022-09-07 ‧ 由 Vivian Yeh 分享
DAY 6

Day 6 :JavaScript 型別與他們的地雷(3):函式是一等公民

說到 Functional Programming,其實我們不難發現這個設計模式基本上就是以「函式」作為主軸。 函式在 FP 中可以說是核心概念,就像先前所提到...

2022-09-08 ‧ 由 Vivian Yeh 分享
DAY 7

Day 7 :JavaScript 型別與他們的地雷(4):表達式與陳述式

相信各位 JavaScript 開發者,對表達式(Expression)與陳述式(statement)的概念不陌生,這兩個概念可以說是初階前端工程師必考的面試題...

2022-09-09 ‧ 由 Vivian Yeh 分享
DAY 8

Day 8 :JavaScript 型別與他們的地雷(5):結語

截至這個章節,我們大致上把要應用 FP 所需要、也最基礎的 JavaScript 概念了解過一遍了,當然在 後的章節中,我們還會把先前所提到的概念往更進階的延伸...

2022-09-10 ‧ 由 Vivian Yeh 分享
DAY 9

Day 9 :何謂 Immutable Data?(1):關於 Immutable 與 Mutable(修正版)

在一開始的簡介中我們曾經聊過構成 FP 的幾個要素,其中一點是,在 FP 這個設計典範中我們只使用 Immutable Data 來進行資料的處理。 為什麼「只...

2022-09-11 ‧ 由 Vivian Yeh 分享
DAY 10

Day 10 :何謂 Immutable Data?(2):更新物件

在討論如何使用 Immutable 的方式來操作物件的狀態前,讓我們來思考另外一個狀況:還記得前端常常考的面試題淺拷貝、深拷貝嗎? 在這邊我們不會以深拷貝、淺拷...

2022-09-12 ‧ 由 Vivian Yeh 分享