Curry function in JavaScript
Currying is an advanced technique of working with functions. It’s used not only in JavaScript but in other languages as well.
Currying is a transformation of functions that translates a function from callable as f(a, b, c)
into callable as f(a)(b)(c)
.
Currying doesn’t call a function. It just transforms it.
Curried functions are higher-order functions that allow us to create specialized versions of original functions. Currying works thanks to closures, which retain the enclosing function scopes after they have returned.
Summary
Currying is a transform that makes f(a,b,c)
callable as f(a)(b)(c)
. JavaScript implementations usually both keep the function callable normally and return the partial if the arguments count is not enough. Currying allows us to easily get partials.