函数式编程

函数式编程技术主要基于数学的函数和它的思想。
函数式编程主张以抽象的方式创建函数,这些函数能够在代码中的其他部分被重用。
函数式编程的好处:可以编写纯函数(对给定的输入返回相同的输出)。

  1. 数学中的函数是什么?
    f(x) = y
  • 函数必须总是接收一个参数
  • 函数必须总是返回一个值
  • 函数应该依据接收到的参数而不是外部环境运行
  • 对于一个给定的x,只会输出唯一的y
  1. 函数编程哲学:
    引用透明性:所有的函数,对于相同的输入都将返回相同的值。

  2. 命令式、声明式与抽象

  • 命令式:告诉函数如何做:
let array = [1,2,3]
for(i=0;i
  • 声明式与抽象:告诉函数做什么
let array = [1,2,3]
array.forEach((value) => {
  console.log(value)
})
  1. 纯函数
  • 纯函数不应改变任何外部环境的变量,不依赖任何外部环境变量。
  • 纯函数能干什么?
    产生可测试的代码
    并发代码
    可缓存
  1. jsvascript是函数式编程语言吗?
    函数式编程必须至少接受一个参数,并返回一个值。
    javascript可以创建一个不接受参数并且实际上什么也不返回的函数。
    example:
    let fn = () => {}
    javascript不是一种纯函数语言,而更像是一种多范式语言。
    javascript非常适合函数式编程范式。

你可能感兴趣的:(函数式编程)