Currying Advanced in JavaScript

Advanced currying techniques

AdvancedAdvanced JSExample 4 of 12
currying-advanced.js
1const curry = (fn) => {
2 return function curried(...args) {
3 if (args.length >= fn.length) return fn(...args);
4 return (...nextArgs) => curried(...args, ...nextArgs);
5 };
6};

Output

// Currying function

What's going on

Currying transforms multi-argument functions.