作为函数式编程语言,JS带来了很多语言上的有趣特性,比如柯里化和反柯里化。
这里可以对照另外一篇介绍 JS 反柯里化 的文章一起看~
1...., list) { return list.map(handler); }
map(square, [1, 2, 3, 4, 5]); // 数组的每一项平方
map(square, [...6, 7, 8, 9, 10]);
map(dubble, [1, 2, 3, 4, 5]); // 数组的每一项加倍
map(dubble, [6, 7, 8, 9, 10]);
同一规则重复使用...i * 2; }
function map(handler, ...list) { return list.map(handler); }
var mapSQ = currying(map, square...,甚至有些前后矛盾,在下的文章都是学习过程中的总结,如果发现错误,欢迎留言指出~
参考:
JS高级程序设计
JS中的柯里化(currying)
前端开发者进阶之函数柯里化Currying
浅析 JavaScript