6. 纯函数

1/8/2023 js

# 纯函数

  • 函数式编程中的函数指的就是纯函数
  • 纯函数概念:(有参数、返回值)相同的输入永远都是相同的输出,而且没有任何可观察的副作用
  • 纯函数类似数学中的函数(用来描述输入和输出之间的关系) y = f(x)
  • lodash是一个纯函数的功能库,提供了对数组、数字、对象、字符串等操作的一些方法
  • 数组的slice 和 splice分别是:纯函数、不纯的函数
  • slice返回数组中的指定部分,不会改变原数组
  • splice对数组进行操作返回该数组,会改变原数组

# slice 纯函数

const arr = [1, 2, 3, 4, 5]
console.log(arr.slice(0, 3))
console.log(arr.slice(0, 3))
console.log(arr.slice(0, 3))
1
2
3
4

# splice 不纯的函数

console.log(arr.splice(0, 3))
console.log(arr.splice(0, 3))
console.log(arr.splice(0, 3))
1
2
3

# 纯函数

function getSum(n1, n2) {
  return n1 + n2
}
console.log(getSum(1, 2))
console.log(getSum(1, 2))
console.log(getSum(1, 2))
1
2
3
4
5
6

函数式编程不会保留计算中间的结果,所以变量是不可变的(无状态的)
我们可以把一个函数的执行结果交给另一个函数去处理

最近更新时间: 2/4/2023, 10:01:08 AM
강남역 4번 출구
Plastic / Fallin` Dild