iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Modern Web

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

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

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

Day 11 :何謂 Immutable Data?(3):更新陣列

在前面的章節中,我們提到如何透過 Immutable 的方式來更新物件的值,那我們又該如何透過 Immtable 的方式來更新陣列的資料呢? 在切入到重點以前,...

2022-09-13 ‧ 由 Vivian Yeh 分享
DAY 12

Day 12 :何謂 Immutable Data?(4):結語

在先前的章節中,我們認真地探討了有關 JavaScript 有關記憶體傳值、傳參考的核心概念,其會依據我們操作物件的手法不同,而導致資料會出現 Mutable...

2022-09-14 ‧ 由 Vivian Yeh 分享
DAY 13

Day 13:什麼是純函式 ?(1):單輸入單輸出

純函式(Pure Funciton)在 FP 中是一個很核心的概念,在 FP 這個設計典範中,我們都會使用純函式的方式來撰寫我們的程式碼。 首先讓我們來看看純函...

2022-09-15 ‧ 由 Vivian Yeh 分享
DAY 14

Day 14:什麼是純函式 ?(2):抽象化

在前一章節中,我們聊到如何透過撰寫純函式,來幫我們的函式進行優化。 然而在剛開始寫程式時,我其實很難將函式中一些重複性的概念抽離出來,於是會寫出一些「過於流程化...

2022-09-16 ‧ 由 Vivian Yeh 分享
DAY 15

Day 15:什麼是純函式 ?(3):副作用

在先前的章節中,我們在說明究竟什麼是純函式時,不斷提到一個關鍵字「副作用(Side Effects)」,且在純函式中,我們極力避免產生副作用。 那麼什麼是副作用...

2022-09-17 ‧ 由 Vivian Yeh 分享
DAY 16

Day 16:什麼是純函式 ?(4):Impure Function

在先前的章節中,我們花了很多的篇幅來介紹純函式與副作用(Side Effects)的定義,這對我們來了解 Impure Function 會非常有幫助! 那什麼...

2022-09-18 ‧ 由 Vivian Yeh 分享
DAY 17

Day 17:什麼是純函式 ?(5):宣告式程式設計

在自己學習程式語言時,不斷會在技術文件或是技術書籍中看到以下關鍵字,凡舉:「物件導向設計(Object-oriented programming,常縮寫為 OO...

2022-09-19 ‧ 由 Vivian Yeh 分享
DAY 18

Day 18:什麼是純函式 ?(5):結語

在這邊我們再次針對純函式做個簡單的整理,一個函式若要成立純函式需要包含以下特性: 一定要傳入參數 不帶有自身的狀態 回傳值只依賴傳入的參數 函式本身不會對其他...

2022-09-20 ‧ 由 Vivian Yeh 分享
DAY 19

Day 19:什麼是 Currying(1)?瀏覽器運作簡介

在先前的章節中,我們了解了 FP 一個最基礎的概念:純函式,其實光是了解及在自己的專案中實作 純函式,就可以讓程式碼乾淨不少,但在 FP 這個設計模式中,我們還...

2022-09-21 ‧ 由 Vivian Yeh 分享
DAY 20

Day 20 :什麼是 Currying(2)?JavaScript Call Stack

在前一章節中,我們了解到 JavaScript 從我們撰寫出來,到可以被執行這個過程中,其實在背後會發生很多事,其中就包含能優化 JavaScript 單執行緒...

2022-09-22 ‧ 由 Vivian Yeh 分享