纯函数,一个通常出现在函数式编程中的概念。
一. 纯函数的特点是什么?
1. 纯函数结果只依赖于参数,与函数外部变量无关。
let a = 10;
function sum(b){
return a + b;
}
console.log(sum(1));// 11
sum函数的结果依赖于外部变量a,当a变化时sum结果会收到影响。
function sum(a,b){
return a + b;
}
console.log(sum(1,2));// 3
修改后的sum函数结果与外部变量无关,是一个纯函数。
2. 纯函数不会产生任何可观察的副作用
- 不能发起HTTP请求
- 不能操作DOM
- 不能修改外部数据
- 不能console.log()打印数据
- 不能调用Date.now()或者Math.random()
二. 使用纯函数目的是什么?
1. 有利于程序测试
- 纯函数结果只依赖于参数,测试时可以确保输出稳定。
2. 减少模块耦合
- 不用担心纯函数会影响其他函数或变量,方便替换和重构。








网友评论