[关闭]
@gyyin 2020-02-06T14:58:51.000000Z 字数 399 阅读 320

JS函数式编程指南

JavaScript


纯函数的好处

再次强调“纯”

slice和splice两个函数,前者对相同的输入返回相同的输出,而后者会修改原本的数组,产生了副作用。
纯函数不应该依赖外部的变量,需要做到自给自足,以下面的代码为例子。

  1. // 不纯的
  2. var minimum = 21;
  3. var checkAge = function(age) {
  4. return age >= minimum;
  5. };
  6. // 纯的
  7. var checkAge = function(age) {
  8. var minimum = 21;
  9. return age >= minimum;
  10. };

如果要把这段代码变"纯",那就需要创建一个不可变的对象,可以将minimum变为const。

副作用

只要是跟函数外部环境发生的交互就都是副作用。
副作用可能包含,但不限于:
1. 更改文件系统
2. 往数据库插入记录
3. 发送一个 http 请求
4. 可变数据
5. 打印/log
6. 获取用户输入
7. DOM 查询
8. 访问系统状态

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注