JavaScript 函数合成

时间:2021-6-12 作者:qvyue

函数合成(function composition)指的是将多个函数合成为一个函数。

在 JS 函数式编程中,你可以经常看到如下表达式运算。

a(b(c(x)))

这看起来很不雅观,为了解决函数多层调用的嵌套问题,我们需要用到函数合成。其语法格式如下:

const f = compose(a, b, c)  // 合成函数 f(x)

我们使用昨天写的 如何在 JavaScript 中使用管道(管道运算符)? 中的示例:

const compose = f => g => x => f(g(x))

const title = 'Front End Interview'

const toLowerCase = (str) => str.toLowerCase()
const addHyphens = (str) => str.replace(/s/g, '-')

compose(toLowerCase)(addHyphens)(title) // "front-end-interview"

正如你所看到的,compose 函数的作用就是将两个函数合成为一个。compose 将两个函数串联起来执行,toLowerCase 函数返回的结果会传递给下一个函数 addHyphens 中作为参数。

更加详细的例子可以查看 JavaScript专题之函数组合。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。