昨天我們使用 function 的 compose,
是從右至左執行,如果我們想由左至右執行,
那我們可以用 pipe, pipe 是管線的概念,
也就是依序執行 function 從第一個參數開始。
引用:https://betterprogramming.pub/compose-and-pipe-in-javascript-medium-d1e1b2b21f83?gi=d6f92bc693a9
我們先實作一個 pipe function
const pipe = (...fns) => (x) => fns.reduce((v, f) => f(v), x);
然後把昨天我們實作 compose 的 function 放進來
const toLowcase = (x)=>{
console.log('lowCase', x.toLowerCase());
return x.toLowerCase();
}
const withExclamationMark = (x)=>{
console.log('!!!',x+'!!!' );
return x+'!!!';
}
const handleString = pipe(toLowcase,withExclamationMark);
handleString('Hello')// // 可以看到我們可以得到 hello!!! 但是會由左至右執行 function
https://betterprogramming.pub/compose-and-pipe-in-javascript-medium-d1e1b2b21f83