# 【JS】函數式『MAP』 (未完) ## 結果最重要,過程如何不重要 (●__●) - **FP - Functional Programming (函數式編程)** - **知道什麼是 宣告式編程(Declarative Paradigm)** - **知道`callback`是什麼東東** - **知道`MAP`的方法是什麼** --- - ## 函數式編程 參考 [Wiki-函式語言程式設計](https://zh.wikipedia.org/wiki/%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B) - 除了鼎鼎大名的『物件導向』設計概念外 還有『指令式』(在本篇不太重要帶過就好) - 本篇提到的就是另外一種『**函數式**』 - 指令示 OOP優點: - 對象和方法非常易讀和易於理解。 - 其中代碼的讀取方式就像計算機將其讀取的一組直接指令一樣。 - OOP缺點: - OOP通常取決於可共享狀態。不幸的是,在同一狀態內存在如此眾多的對象和方法,並以完全不確定的順序訪問這些對象和方法,這可能導致先前討論的“競賽條件”概念。 FP專業人士: - 利用純函數可以生成可靠的函數,而沒有副作用,這些副作用可以完全完成並返回您期望的結果。 - 使用更具聲明性的樣式,該樣式更多地關注於該做什麼,而較少地關注其完成方式。這將重點放在性能和優化上,從而為重構之門提供了機會,而無需完全重做您的代碼。 FP缺點: - 函數式編程是一種較新的範例。查找有關OOP方法的文檔和信息要容易得多。 - 與OOP的優點之一類似,函數式編程有時可能缺乏可讀性。有時,函數可能變得非常冗長,並且變得相對難以遵循面向對象的樣式。 相互抵觸。通常,最好的方法是混合方法。在最能發揮其優勢的時刻利用面向對象編程。在功能性最強的時刻使用函數式編程。 --- ## 推薦連結:cat: <blockquote class="trello-card"><a href="https://trello.com/c/qxmxYoF4/79-%E5%87%BD%E6%95%B8%E5%BC%8F%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88%E6%A5%B5%E5%B3%B0%E7%B2%BE%E7%B2%B9%EF%BC%9Ajavascript%E3%80%81clojure%E3%80%81macro%E3%80%81monad-%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%B8%AB%E8%B6%85%E5%AF%A6%E5%8A%9B%E7%A7%98%E5%85%B8">函數式程式設計極峰精粹:JavaScript、Clojure、Macro、Monad 前端工程師超實力秘典</a></blockquote><script src="https://p.trellocdn.com/embed.min.js"></script> > [Shubo 的程式教學筆記 -- JavaScript 開發者都該會的 7 個好用陣列方法](https://shubo.io/javascript-array-methods/) ---