函数式编程中的组合子

断了今生、忘了曾经 提交于 2019-11-27 13:37:36

https://segmentfault.com/a/1190000016803036#articleHeader11

 

什么是组合子

组合子在数学中就有,但我们讲的并不是数学中的定义,而是在JavaScript领域中的组合子概念。按照我所理解的JavaScript函数式编程,我将组合子分为辅助组合子函数组合子。后续我们会对这两种组合子进行区别。

组合子(全称:组合子函数)又称之为装饰器函数,用于转换函数或数据,增强函数或数据行为的高阶函数。这里我们提到的高阶函数并不陌生,所谓的高阶函数,就是以函数为参数或者返回值的函数。辅助组合子是最为简单的组合子,它是具有数据流程控制的抽象函数。而函数组合子就很特别了,它必须以函数(称之为原函数契函数)为参数,其大致有如下特点:

  1. 函数组合子本身就是高阶函数
  2. 不改变原函数契函数)的最终意图;
  3. 能增强原函数(契函数)的行为;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!