javascript / intermediate
Snippet
Funktions-Currying
Currying ist ein Entwurfsmuster, bei dem eine Funktion mit mehreren Argumenten in eine Sequenz von verschachtelten Funktionen transformiert wird, die jeweils ein einzelnes Argument entgegennehmen. Dies ist nützlich für die partielle Anwendung und die Erstellung wiederverwendbarer Hilfsfunktionen.
snippet.js
1
2
3
4
5
6
7
const multiply = (a) => (b) => (c) => a * b * c;const double = multiply(2);const doubleAndTriple = double(3);console.log(doubleAndTriple(4)); // 24 (2 * 3 * 4)console.log(multiply(2)(3)(4)); // 24
Erklärung
1
const multiply = (a) => (b) => (c) => ...
Eine Serie von Arrow-Functions, die Argumente durch Closures erfassen.
2
const double = multiply(2);
Erstellt eine spezialisierte Funktion, bei der das erste Argument 'a' auf 2 festgelegt ist.