
Beginning Functional JavaScript, 2nd Edition
Anto Aravinth, Srikanth Machiraju
- Editorial
- Apress
- Año
- 2018
- Páginas
- ~307
- Nivel
- Básico
De qué trata
Segunda edición, ampliada y actualizada, de la introducción de Anto Aravinth a la programación funcional en JavaScript, ahora con Srikanth Machiraju como coautor y basada en ECMAScript 8 (ES2017). Está pensada para desarrolladores de JavaScript que se inician en el paradigma funcional. Basta con dominar los fundamentos del lenguaje. No se requiere experiencia en lenguajes como Haskell o Clojure.
El recorrido empieza con las diferencias entre los estilos imperativo y funcional y la forma en que JavaScript trata las funciones, escritas con sintaxis moderna. Luego desarrolla funciones de orden superior, el tratamiento de funciones como datos, closures y operaciones funcionales sobre arrays. Le siguen currying, aplicación parcial, composición (compose) y pipelines, y después functores (Maybe y Either), monads y functores aplicativos. También repasa características de ES8 útiles en este estilo: operador spread, generadores, relleno de cadenas (padStart/padEnd) y funciones async/await.
Como en la primera edición, el lector construye una librería funcional al estilo de underscore.js. La novedad principal es que, además, se crea una pequeña librería que sigue el patrón de react-redux aplicando principios funcionales: un store con funciones puras y un flujo de datos unidireccional. Con ella se entiende la idea detrás de Redux sin depender de la librería real. El libro cierra con consejos para probar código funcional. Es una buena puerta de entrada al paradigma y mejora claramente a la edición de 2017. Aun así, functores y monads se tratan de forma introductoria, el capítulo de pruebas es breve y no cubre librerías como Ramda, fp-ts ni RxJS.
- Programación funcional
- ES8
- Funciones de orden superior
- Closures
- Currying
- Aplicación parcial
- Composición
- Functores
- Monads
- Functores aplicativos
- Async/await
- Patrón Redux
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Librería funcional al estilo underscore.js
Librería de utilidades construida a lo largo del libro con JavaScript moderno. Incluye funciones de orden superior, operaciones sobre arrays, currying, composición y functores, imitando el funcionamiento de underscore.js.
Librería basada en el patrón react-redux
Pequeña librería para aplicaciones web que reproduce el patrón de react-redux siguiendo el paradigma funcional: estado gestionado con funciones puras y flujo de datos unidireccional, sin depender de Redux.

