javascript / intermediate
Snippet
Funktionales Currying
Currying ist eine Technik der funktionalen Programmierung, bei der eine Funktion mit mehreren Argumenten in eine Sequenz von Funktionen umgewandelt wird, die jeweils ein einzelnes Argument entgegennehmen. Dies ermöglicht die partielle Anwendung und das Erstellen spezialisierter, wiederverwendbarer Funktionen.
snippet.js
1
2
3
4
const multiply = (a) => (b) => a * b;const double = multiply(2);console.log(double(5)); // 10console.log(multiply(3)(4)); // 12
Erklärung
1
const multiply = (a) => (b) => a * b;
Eine Funktion höherer Ordnung, die eine weitere Funktion zurückgibt.
2
const double = multiply(2);
Erzeugt eine neue Funktion, bei der 'a' dauerhaft auf 2 gesetzt ist.
3
console.log(double(5));
Ruft die innere Funktion mit 'b' als 5 auf, was 2 * 5 ergibt.