Currying
Clase 16 de 23 • Curso de Programación Funcional en JavaScript por Bedu
Resumen
Gracias a los closures es posible implementar el Currying, descomponer funciones complejas en otras funciones más pequeñas donde cada función recibe un solo argumento. A continuación un ejemplo:
// Sin Currying
function sumThreeNumbers(a, b, c) {
return a + b + c
}
console.log(sumThreeNumbers(1, 2, 3)) // 6
function sumThreeNumbers(a) {
return function(b) {
return function(c) {
return a + b + c
}
}
}
console.log(sumThreeNumbers(1)(2)(3)) // 6