javascript / intermediate
Snippet
Funktionskomposition (Pipe)
Funktionskomposition ist der Prozess des Kombinierens von zwei oder mehr Funktionen zu einer neuen Funktion. Eine 'Pipe' leitet Daten von links nach rechts durch eine Sequenz von Funktionen.
snippet.js
1
2
3
4
5
6
const double = x => x * 2;const addTen = x => x + 10;const pipe = (...fns) => (x) => fns.reduce((v, f) => f(v), x);const processNumber = pipe(double, addTen);console.log(processNumber(5)); // (5 * 2) + 10 = 20
Erklärung
1
(...fns) =>
Verwendet Rest-Parameter, um beliebig viele Funktionen in einem Array zu sammeln.
2
(x) =>
Gibt eine Funktion zurück, die den zu verarbeitenden Initialwert annimmt.
3
fns.reduce((v, f) => f(v), x);
Wendet iterativ jede Funktion auf das Ergebnis der vorherigen an, beginnend mit 'x'.
4
pipe(double, addTen);
Erstellt eine neue Funktion, die die Sequenz der Operationen darstellt.