什么是函数的柯里化
维基百科:
在计算机科学中,柯里化(Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
简单理解就是 : 通过函数的调用继续返回函数的方式,实现多次接受参数最后统一处理的函数编码形式。
首先我们实现一个实例 我们实现一个函数 返回传入参数的和
常见写法
function sum(a,b,b){
return a + b + c
}
const result = sum(1,2,3)
console.log(result) // 6
复制代码
像这个写法是很常见也很符合直觉的写法了
但像柯里化写法又是怎样的呢?
我们可以实现一下
柯里化写法
function sum(a){
return (b) => {
return (c) => {
return a + b + c
}
}
}
const result = sum(1)(2)(3)
console.log(result) // 6
复制代码
在这里 就满足了柯里化的定义了 通过函数的调用继续返回函数的方式,实现多次接受参数最后统一处理的函数编码形式。 看到这里 想必一些朋友就会有疑惑了 为什么这么写呢? 简单的事情为什么这么复杂化 没必要啊!
为什么要柯里化
像上面这个写法,只是个演示,能让大家明白它的原理。 当然柯里化肯定是有他的点的 如:
- 尽可能地函数化
- 减少代码冗余,也能增加可读性
- 装逼😄