JavaScript函数式编程是以函数为基本单元、强调数据变换而非状态修改的编程风格,核心包括纯函数、不可变性、高阶函数及函数组合,使代码更易测、可缓存、可预测且声明式。

JavaScript 的函数式编程,不是给函数加个“式”字就完事了,它是一种以函数为基本单元、强调数据变换而非状态修改的编程风格。它不靠反复改变量、写 for 循环来驱动逻辑,而是把输入“流”进一串函数,每个函数只做一件事、输出新值,最终得到结果。
纯函数:结果只取决于输入
一个函数,只要满足两个条件,就是纯函数:
- 相同输入,永远返回相同输出(比如 add = (a, b) => a + b)
- 不读写外部变量、不发请求、不修改传入的对象或数组、不调 console
好处很实在:容易测试、能缓存(memoize)、可并行执行、调试时不会被“谁偷偷改了 state”搞懵。
不可变性:数据创建后就不动它
你不直接 push、splice、赋值 obj.name,而是用 map/filter/concat/{...obj}/Array.from() 等方法生成新数据。例如:
立即学习“Java免费学习笔记(深入)”;
- [1,2,3].map(x => x * 2) → 返回 [2,4,6],原数组不变
- {...user, active: true} → 返回新对象,原 user 不受影响
这避免了隐式依赖和意外覆盖,让数据流向更可预测。
标签: javascript word java red
还木有评论哦,快来抢沙发吧~