Componer funciones eficientemente en JavaScript

Beginner

This tutorial is from open-source community. Access the source code

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.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 100%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

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.