// 两个函数
let addTen = x => x + 10;
let addTwo = x => x + 2;
// 组合前
let tmp = addTen(5) // tmp = 15
let result = addTwo(tmp); // result = 17
// 组合后
let compose = (f,g) => f(g);
let addTwelve = compose(addTen, addTwo);
let result = addTwelve(5) // result = 17
一等函数
“一等公民”函数可以去任何可以去的地方,很少有限制
纯函数
纯函数的好处
高阶函数
函数柯里化 (curry)
curry 的概念很简单: 只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数
策略性地把要操作的数据放到最后一个参数里
传给函数一些参数,就能得到一个新函数
代码组合(compose)
组合看起来像是在饲养函数。你就是饲养员,选择两个有特点又遭你喜欢的函数,让它们结合,产下一个崭新的函数.
让代码从右向左运行,而不是由内而外运行,我觉得可以称之为“左倾”