JavaScript函数式编程强调纯函数、不可变数据和函数组合,避免副作用与可变状态,借助高阶函数及工具如pipe/compose提升代码可读性、可测试性与复用性。

JavaScript 中的函数式编程(Functional Programming,FP)是一种编程范式,强调用纯函数、不可变数据和函数组合来构建程序,而不是依赖可变状态和命令式控制流。
纯函数(Pure Functions)
纯函数指:给定相同输入,永远返回相同输出,且不产生任何副作用(比如修改全局变量、发起网络请求、修改传入对象等)。
- ✅ 好例子:const add = (a, b) => a + b; —— 输入确定,无副作用
- ❌ 非纯函数:const now = () => Date.now(); 或 arr.push(x); —— 依赖外部状态或改变输入
不可变性(Immutability)
数据一旦创建就不能被修改。更新时应返回新对象/数组,而非直接更改原值。
- 避免:obj.name = 'Alice'; 或 arr[0] = 1;
- 推荐:const newObj = {...obj, name: 'Alice'}; 或 const newArr = [...arr, newItem];
- 工具辅助:可用 Object.freeze(浅冻结)、immer(安全写法)、或 lodash/fp 等库支持
高阶函数与函数组合
函数可以作为参数传入,也能作为返回值;多个小函数可组合成更强大的逻辑。
标签: react javascript es6 java js 工具 ai 代码可读性 red
还木有评论哦,快来抢沙发吧~