Currying at Javascript
Currying is an important technique in functional programming. It is asked as an interview question in many interviews.
Currying technique is the process of transforming a function so that it is called with a single parameter like f(a)(b)(c) each time, instead of calling it to take multiple parameters as in f(a, b, c).
Let’s take a simple look at the following example.
function sum(a,b,c) {
return a + b + c;
};
sum(5, 10, 15);Let’s write the sum() function with the currying technique.
const sum = (a) => {
return (b) => {
return (c) => {
return a + b + c
}
}
}
sum(5)(10)(15);As you can see, every time we call the function we just wrote, a new function returns.
In order to understand the Currying concept well, it is necessary to know the concept of Closure in javascript.
Advantages
- By calling the same function partially, we ensure that different results are returned in different parts of the project.
- We prevent code duplication.
- We avoid entering the same parameter repeatedly.
Example:
const logs = (logType) => {
return (logDate) => {
console.log(`${logType} : there was an issue on ${logDate}.`);
};
};
const logDate = logs('Warning');
//1. Log Message
logDate(new Date());
//2. Log Message
logDate(new Date());Good Luck…