什么是函数式编程

什么是函数式编程

把复杂的函数功能,拆分成一个一个的纯函数,再组合这些函数,去实现这个功能。

函数式编程的核心概念

  • 数据不可变: 要求你所有的数据都是不可变的,这意味着如果你想修改一个对象,那你应该创建一个新的对象用来修改,而不是修改已有的对象。
  • 无状态 主要是强调对于一个函数,不管你何时运行,它都应该像第一次运行一样,给定相同的输入,给出相同的输出,完全不依赖外部状态的变化。
    什么是函数式编程

纯函数

  • 无副作用 不修改全局变量,不修改入参。
  • 不依赖外部状态(无状态) 函数的的运行结果不依赖全局变量,this 指针,IO 操作等。