---
# System prepended metadata

title: 【JS】函數式『MAP』 (未完)

---

# 【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/)


---
