纯函数和高阶函数

278 阅读1分钟

纯函数

  • 只要是同样的输入(实参),必定得到同样的输出(返回)
  • 不得改写参数数据
  • 不会产生任何副作用,例如网络请求,输入和输出设备
  • 不能调用Data.now()或者Math.random()等不纯的方法
  • redux的reducer函数必须是纯函数

高阶函数

  • 参数是函数或者返回是参数的函数
  • 常见的高阶函数:定时器设置函数,数组的forEach()/map()/filter()/find()/bind(),Promise等