柯里化是函数式编程里非常重要的概念。在维基百科上是这么解释柯里化的:
在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
1 | // 能接受多个参数的函数 |
为什么要有柯里化?
在函数编程中,我们希望一个函数处理的问题尽可能的单一,而不是将一大堆问题让一个函数处理。
复用逻辑
1
2
3
4
5
6
7const fn = x => y => z => {
return x + y + z
}
const add2 = fn(2)
add2(3)(4)
add2(5)(6)
组合函数
组合函数式在 JavaScript 开发过程中一种对函数的使用技巧、模式:
- 如果我们需要对某一个数据进行函数调用,执行两个函数 Fn1 和 Fn2 且两个函数是依次执行的。那么我们就可以使用组合式函数。
1 | // 加法函数 |
- 这个过程就是对函数的组合,我们称之为组合函数。