Skip to content

Latest commit

 

History

History
23 lines (17 loc) · 480 Bytes

currying.md

File metadata and controls

23 lines (17 loc) · 480 Bytes

Currying

Currying is an approach to divide a function with n number of arguments into n number of functions with one argument.

For example, a function to add three numbers function add(a,b,c) can be changed to 3 functions with one argument a, b, and c.

function add(a, b, c) {
  return a + b + c;
}

add(1, 2, 3); // 6

function curryingAdd(a) {
  return function(b) {
    return function(c) {
      return a + b + c;
    };
  };
}

curryingAdd(1)(2)(3); // 6