JavaScript中的Pipe
本文会介绍Pipe在函数式编程中的基本概念,怎么用Pipe让我们的代码变得更美好,以及新的pipe操作符,Fancy的东西在后面!
- 什么是Pipe?
先用一个最简单的例子来看一下什么是pipe,现在我们有两个最简单的函数addOne
和addTwo
,分别对于参数加一和加二:
const addOne = x => x + 1
const addTwo = x => x + 2
现在我们想让一个参数通过第一个函数之后再通过第二个函数,最直接最简单的方法是:
addTwo(addOne(1)) // 4
我们来写一个简单的pipe
函数,它返回一个新的函数,来达到我们上面的目的:
const pipe = (func1, func2) => x => func2(func1(x))
const addThree = pipe(
addOne,
addTwo
)
addThree(1) // 4
嗯,现在还看不出来什么好处,但是当我们要经过的Transform越来越多的时候,这样的好处就会越来越明显:
const addTen = pipe(
addOne,
addTwo,
addThree,