JS Currying

by Gustavo

JavaScript

const myFn = (a,b,c) => a+b+c;

const curry = (fn) => {
	return curried = (...args) => {
  	if (fn.length !== args.length) {
    	return curried.bind(null, ...args);
    }
    return fn(...args);
  }
}

const myCurried = curry(myFn);

console.log(myCurried(1)(2)(3));

const curryTen = myCurried(10);

console.log(curryTen(1)(1));