由来 :
- 纯函数是相对于相同的输入返回相同的输出,没有任何可观察的副作用
- 在纯函数的哲学中, 副作用是纯函数一切异常的主要原因
- 副作用会让一个函数变得不纯, 这种不纯的异常隐患是BUG滋生的潜在因素
```javascript
/**
- @desc 副作用 */
const mini = 18 // 该函数具有副作用 函数依赖外部状态 function checkAge(age) { return age >= mini; }
// 纯函数 function checkAge1(age) { const mini = 18; return age >= mini; } ``` 副作用的来源 :
- 读取文件系统
- 发送http请求
- 用户的输入
- 读取数据库
- ……