纯函数与副作用

415 阅读1分钟

什么是纯函数

相同的输入,总是会的到相同的输出,并且在执行过程中没有任何副作用。

什么是副作用

副作用指的是函数在执行过程中产生了外部可观察变化。

  • 发起HTTP请求
  • 操作DOM
  • 修改外部数据
  • console.log()打印数据
  • 调用Date.now()或者Math.random()

纯函数的优点

  • 更容易进行测试,结果只依赖输入,测试时可以确保输出稳定
  • 更容易维护和重构,我们可以写出质量更高的代码
  • 更容易调用,我们不用担心函数会有什么副作用
  • 结果可以缓存,因为相同的输入总是会得到相同的输出