Composición de Funciones 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 para crear una nueva función y cómo usar la función compose() para realizar la composición de funciones de derecha a izquierda. A través de ejemplos prácticos y ejercicios, obtendremos una comprensión más profunda de esta técnica poderosa y sus aplicaciones prácticas en la programación.

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.

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:

  1. Utiliza Array.prototype.reduce() para realizar la composición de funciones de derecha a izquierda.
  2. La última (más a la derecha) función puede aceptar uno o más argumentos; el resto de las funciones deben ser unarias.
  3. Define la función compose que tomará cualquier número de funciones como argumentos y devolverá una nueva función que las componga.
  4. Llama a la función compose con las funciones deseadas en el orden deseado.
  5. 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

Resumen

¡Felicidades! Has completado el laboratorio de Composición de Funciones. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.