Currying
Clase 16 de 23 • Curso de Programación Funcional en JavaScript por Bedu
Contenido del curso
Introducción al curso y conceptos base
Funciones
- 4

Funciones Algebraicas y Funciones de JavaScript
02:49 - 5

Qué son funciones puras
02:45 - 6

Proyecto: Obtener el valor de los inputs
04:00 - 7

Objetos y Tipos de Memoria en JavaScript
04:31 - 8

Copiar y modificar objetos en JavaScript
09:49 - 9

Utilizando inmutabilidad en nuestras funciones
03:49 - 10

Proyecto: Validar inputs
07:38
Estado compartido en funciones
Composición de funciones, Closures y Currying
Higher Order Functions
Bonus: Declarative Programming
Conclusiones
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