22. PointFree
leezozz 1/27/2023 js
PointFree:我们可以把数据处理的过程定义成数据无关的合成运算,不需要用到代表数据的那个参数,只要把简单的运算步骤合成到一起,在使用这种模式之前我们需要定义一些辅助的基本运算函数。
- 不需要指明处理的数据
- 只需要合成运算过程
- 需要定义一些辅助的基本运算函数
函数式编程的核心:把运算过程抽象成函数
// PointFree就是把抽象出来的函数再合成一个新的函数。(这个合成的过程其实也是抽象的过程,在这个过程是不需要关心数据的)
// Hello World => hello_world
const fp = require('lodash/fp')
const f = fp.flowRight(fp.replace(/\s+/g, '_'), fp.toLower)
console.log('f', f('Hello World')) // hello_world
1
2
3
4
5
6
2
3
4
5
6