برنامه نویسی
Currying در JavaScript – DEV Community

Currying الگوی نوشتن کد عملکردی ماژولارتر است. به زبان ساده.
Currying الگویی است که در آن یک تابع با چندین آرگومان به یک سری توابع تبدیل می شود که هر کدام یک آرگومان واحد را می گیرند.
به جای اینکه همه آرگومان ها را یکجا بگیرد، تابع Curried آرگومان اول را می گیرد، یک تابع جدید را برمی گرداند که آرگومان بعدی را می گیرد و به همین ترتیب تا زمانی که همه آرگومان ها ارائه شوند. سپس تابع نهایی نتیجه را برمی گرداند.
//Normal Function
`function nonCurrying(param1, param2, param3){
return param1 + param2 + param3
}`
// Curried Function
`function curried(param1){
return function(param2){
return function(param3){
return param1 * param2 * param3
}}}
curried(10)(20)(30);
`