Cómo componer funciones en JavaScript
Para comenzar a practicar la codificación utilizando la composición de funciones en JavaScript, abre la Terminal/SSH y escribe node
.
Aquí hay un ejemplo de cómo realizar la composición de funciones de derecha a izquierda en JavaScript:
- Utiliza
Array.prototype.reduce()
para realizar la composición de funciones de derecha a izquierda.
- La última (más a la derecha) función puede aceptar uno o más argumentos; el resto de las funciones deben ser unarias.
- Define la función
compose
que tomará cualquier número de funciones como argumentos y devolverá una nueva función que las componga.
- Llama a la función
compose
con las funciones deseadas en el orden deseado.
- Llama a la nueva función compuesta con cualquier argumento necesario.
const compose = (...fns) =>
fns.reduce(
(f, g) =>
(...args) =>
f(g(...args))
);
Por ejemplo, digamos que tenemos dos funciones:
const add5 = (x) => x + 5;
const multiply = (x, y) => x * y;
Podemos componer estas funciones utilizando compose
:
const multiplyAndAdd5 = compose(add5, multiply);
Ahora podemos llamar a multiplyAndAdd5
con los argumentos deseados:
multiplyAndAdd5(5, 2); // 15