「請問你知道什麼是 FP 嗎?」使用 JavaScript 這門程式語言開發網頁的工程師,或多或少曾經被你的面試官這麼問過吧。
然而真的去 Google 這個關鍵字時,會發現大部分的文章充滿「 Ramda 演算、純函式、高階函式、柯理化」等關鍵字、艱深且又學術的內容。
還沒開始研究,但已經感到壓力山大⋯⋯
《致 JavaScript 開發者的 Functional Programming 新手指南》,紀錄了一個新手開發者從零開始學習 FP 的學習脈絡,希望大家可以透過更簡單的方式了解這個設計模式,希望大家可以透過更簡單的方式了解這個設計模式,讓自己的程式碼更加脈絡化與系統化。
當說到閉包時,大家會有什麼樣的想法呢?是覺得它不太會在日常開發中出現,所以很少用,還是單純把閉包當成是一個面試題而已? 經過先前的章節介紹,我們了解到其實 Ja...
在先前的文章中,我們花了很多的時間來討論閉包,這是為什麼呢?因為在 FP 中,如果我們想要更有效率、更嚴謹的方法來撰寫函式,了解函式在呼叫堆疊中的運行模式可以說...
在先前的章節中,我們透過不同的工具及概念來讓大家理解 FP 在做些什麼事,舉例來說,在 Immutable 的章節我們大量使用 map 與 filter 的方法...
陣列方法可以說是 JavaScript 中最常使用的計算工具,不論是資料的處理,或是畫面的呈現,都少不了陣列方法。 在了解高階函式與複合函式的概念後,我們來試著...
在 FP 中,會發現我們其實沒有那麼常使用 for、forEach ,更多時候是使用 filter 與 map 陣列方法,因為在 FP 這個設計模式中,為了讓程...
在先前的章節中,我們了解到要如撰寫純函式、科里化,甚至是透過高階函式與複合函式的手段,讓我們的函式重組性、復用性更高。 但如果到目前為止,這些概念對於你來說,都...
Lodash 這個函式庫中,提供了高達上百種的方法,有些方法可以說是原生 JavaScript 的加強版,或是將原有的原型方法包裝成純函式。 除了在實務開發時,...
與 Lodash.js 類似, Ramda.js 是一個專門以 FP 模式設計出來的函式庫,與 Lodash 不同的是,Ramda 所提供的函式預設就已經柯里化...
在文章系列的尾聲,我們大致複習一下究竟什麼是 FP 呢?先前我們曾經提到過,透過 FP 設計模式產出的程式碼會有以下特色: 透過純函數(Pure Functi...
這是我第一次參加鐵人賽的活動,在完賽的同時,自己也以前端工程師的身份在網頁開發的領域工作一年了,雖然未來還有很長的路要走,但這次的經驗對自己來說意義非凡。 即便...