Introducción
En este laboratorio, exploraremos el concepto de composición de funciones en JavaScript. Aprenderemos cómo combinar múltiples funciones en una sola función que realice una secuencia de operaciones en un orden de izquierda a derecha. A través del uso de la función pipeFunctions, descubriremos los beneficios de la composición de funciones y cómo puede simplificar nuestro código y hacerlo más legible.
Composición de funciones con tuberías
Para comenzar a practicar la codificación con tuberías, abre la Terminal/SSH y escribe node.
La función pipeFunctions realiza la composición de funciones de izquierda a derecha utilizando Array.prototype.reduce() con el operador de propagación (...). La primera (más a la izquierda) función puede aceptar uno o más argumentos, mientras que las funciones restantes deben ser unarias.
const pipeFunctions = (...fns) =>
fns.reduce(
(f, g) =>
(...args) =>
g(f(...args))
);
Aquí hay un ejemplo de cómo usar pipeFunctions para crear una nueva función multiplyAndAdd5 que multiplica dos números y luego suma 5 al resultado:
const add5 = (x) => x + 5;
const multiply = (x, y) => x * y;
const multiplyAndAdd5 = pipeFunctions(multiply, add5);
multiplyAndAdd5(5, 2); // 15
En este ejemplo, multiplyAndAdd5 es una nueva función que toma dos argumentos, 5 y 2, y aplica primero multiply a ellos, lo que da como resultado 10, y luego aplica add5 al resultado, lo que da como resultado 15.
Resumen
¡Felicitaciones! Has completado el laboratorio de Funciones de Tubería. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.