函数式编程中的组合子

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

 

什么是组合子

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

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

  1. 函数组合子本身就是高阶函数
  2. 不改变原函数契函数)的最终意图;
  3. 能增强原函数(契函数)的行为;
posted @ 2019-08-16 19:41  zzfx  阅读(430)  评论(0编辑  收藏  举报