Componiendo funciones de izquierda a derecha

JavaScriptJavaScriptBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos el concepto de composición de funciones en JavaScript. En particular, nos centraremos en la función composeRight, que nos permite combinar múltiples funciones en una sola función que se ejecuta de izquierda a derecha. A través de ejemplos prácticos, veremos cómo la composición de funciones puede simplificar nuestro código y hacerlo más modular.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28597{{"Componiendo funciones de izquierda a derecha"}} javascript/data_types -.-> lab-28597{{"Componiendo funciones de izquierda a derecha"}} javascript/arith_ops -.-> lab-28597{{"Componiendo funciones de izquierda a derecha"}} javascript/comp_ops -.-> lab-28597{{"Componiendo funciones de izquierda a derecha"}} javascript/higher_funcs -.-> lab-28597{{"Componiendo funciones de izquierda a derecha"}} javascript/spread_rest -.-> lab-28597{{"Componiendo funciones de izquierda a derecha"}} end

Reversión de la composición de funciones

Para comenzar a practicar la codificación, abre la Terminal/SSH y escribe node.

Aquí está cómo realizar la composición de funciones de izquierda a derecha:

  • Utiliza el método Array.prototype.reduce() para realizar la composición de funciones de izquierda a derecha.
  • 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 composeRight = (...fns) =>
  fns.reduce(
    (f, g) =>
      (...args) =>
        g(f(...args))
  );

Por ejemplo:

const add = (x, y) => x + y;
const square = (x) => x * x;
const addAndSquare = composeRight(add, square);
addAndSquare(1, 2); // 9

Resumen

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