函数式编程基本概念

编程范式:

  • 命令式编程(Imperative)
  • 声明式编程(Declarative)
  • 函数式编程(Functional)

面向对象、泛型、元编程 也都是很主要的编程范式

命令式编程: 命令式编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么

声明式编程: 声明式编程是以数据结构的形式来表达程序执行的逻辑

函数式编程: 函数式编程和声明式编程是有所关联的,因为他们思想是一致的:即只关注做什么而不是怎么做

针对“将数组元素的的每项变为原来的2倍” 体验命令式编程和声明式编程的区别

// 命令式编程
const double = (list) => {
  let result = []
  for (let i = 0; i < list.length; i++) {
    result[i] = 2 * i
  }
  return result
}

// 声明式编程
const list = []
const result = list.map(item => 2 * item)

头等函数

高阶函数

  • 接受一个或多个函数作为输入
  • 或输出一个函数

纯函数

一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。

const root = window
const reactive = (name => {
  console.log(name, root)
})

reactive 不是纯函数,因为它的执行依赖外部变量 root

猜你喜欢

转载自www.cnblogs.com/gaollard/p/9575594.html
今日推荐