Descubra la programación funcional en JavaScript con esta completa introducción

Discover Functional JavaScript fue nombrado uno de los mejores libros nuevos de programación funcional por BookAuthority .

JavaScript es el primer lenguaje que lleva la programación funcional a la corriente principal. Tiene funciones y cierres de primer nivel. Abren el camino a los patrones de programación funcional.

Funciones de primera clase

Las funciones son objetos de primera clase. Las funciones pueden almacenarse en variables, objetos o matrices, pasarse como argumentos a otras funciones o devolverse desde funciones.

//stored in variable function doSomething(){ } //stored in variable const doSomething = function (){ }; //stored in property const obj = { doSomething : function(){ } } //passed as an argument process(doSomething); //returned from function function createGenerator(){ return function(){ } }

Lambdas

Una lambda es una función que se utiliza como valor.

En JavaScript, las funciones son objetos de primera clase, por lo que todas las funciones se pueden usar como valores. Todas las funciones pueden ser lambdas con o sin nombre. De hecho, sugiero favorecer las funciones nombradas.

Caja de herramientas de matriz funcional

Caja de herramientas básica

filter()selecciona valores de una lista basada en una función de predicado que decide qué valores deben mantenerse.

const numbers = [1,2,3,4,5,6]; function isEven(number){ return number % 2 === 0; } const evenNumbers = numbers.filter(isEven);

Una función de predicadoes una función que toma un valor como entrada y devuelve true/ falsebasado en si el valor satisface la condición. isEven()es una función de predicado.

Discover Functional JavaScript fue nombrado uno de los¡Los mejores libros nuevos de programación funcional de BookAuthority !

Para obtener más información sobre la aplicación de técnicas de programación funcional en React, eche un vistazo a Functional React .

Aprenda React funcional , de una manera basada en proyectos, con Arquitectura funcional con React y Redux .

Seguir en Twitter