函数柯里化

168 阅读1分钟

ES5实现高阶函数,也叫柯里化:

function add(x){
    return function(y){
        return x+y
    }
}
var addTwo = add(2);
addTwo(3); // => 5
add(10)(11); // => 21

箭头函数函数柯里化

const add=x=>y=>{
    return x+y
}
add(10)(11); //=>21

分析:

add函数接受x,返回一个函数接受y 再返回y+x。
用箭头函数实现同样功能呢?我们知道:
-   箭头函数体是表达式,并且
-   箭头函数隐式返回表达式
所以为了实现高阶函数,使箭头函数的函数体为另一个箭头函数

优势:
-   减少代码重复
-   提高代码重用性
-   更容易阅读的代码