Team Carbono

Programación Funcional en Javascript: Cheatsheet

Función pura

Siempre produce el mismo resultado con la misma entrada vacía, es determinista.

Debe depender sólo de variables que están dentro de su control. Debemos estar seguros de que siempre producirá el mismo resultado con los mismos argumentos.


Funciones de primera clase

Pueden ser tratadas como variables.

Al poder ser tratadas como variables, pueden ser usadas como parámetros para otras funciones

Al poder ser tratadas como variables, pueden ser almacenadas como propiedades de estructuras de datos tales como objetos y arreglos

          
          function suma (a, b) {
            return a + b
          }
          
          function multiplicar (a, b) {
            return a * b
          }
          
          const operaciones = { // para la constante "operaciones", las funciones "sumar" y "multiplicar" son variables
            add,
            multiply
          }
          
          operaciones.sumar(1, 2)
      

Funciones de más alto orden (Higher-order functions)

Las funciones que manipulan otras funciones como si fuesen variables son llamadas Funciones de más alto orden. Pueden tomar otras funciones como parámetros y pueden retornar funciones.


Caja de herramientas básica de programación funcional