
Beginning Functional JavaScript
Anto Aravinth
- Editorial
- Apress
- Año
- 2017
- Páginas
- ~172
- Nivel
- Básico
De qué trata
Introducción de Anto Aravinth a la programación funcional en JavaScript con ECMAScript 6 (ES2015), publicada por Apress en 2017. Está dirigida a desarrolladores de JavaScript, incluso principiantes, que quieren entender qué es el paradigma funcional y cómo encaja en el lenguaje. Basta con conocer la sintaxis básica de JavaScript. No hace falta experiencia previa en lenguajes funcionales.
El libro arranca con las diferencias entre los estilos imperativo y funcional y con la forma en que JavaScript trata las funciones como valores. A partir de ahí desarrolla los conceptos centrales del paradigma: funciones puras, funciones de orden superior, closures, operaciones funcionales sobre arrays (map, filter, reduce y similares), currying, aplicación parcial, y composición y pipelines. Después da el salto a conceptos más abstractos: functores como Maybe y Either para manejar errores y valores nulos sin condicionales, y monads. También usa características de ES6 útiles para el estilo funcional, como el operador spread y los generadores, que se aplican al código asíncrono.
El hilo práctico del libro consiste en ir construyendo, capítulo a capítulo, una pequeña librería funcional propia inspirada en underscore.js. Así se entiende cómo funcionan por dentro las librerías reales en lugar de solo usarlas. El código de ejemplo está disponible en el repositorio oficial de Apress en GitHub. Es breve y muy accesible, pero los temas avanzados (functores y monads) se tratan de forma introductoria y no profundiza en inmutabilidad, rendimiento ni librerías como Ramda o Lodash/fp. La segunda edición (2018) amplía el contenido con ES8 y nuevos capítulos.
- Programación funcional
- ES6
- Funciones puras
- Funciones de orden superior
- Closures
- Arrays funcionales
- Currying
- Aplicación parcial
- Composición
- Functores
- Monads
- Generadores
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Librería funcional al estilo underscore.js
Librería propia que se construye a lo largo del libro con JavaScript ES6. Reúne utilidades de orden superior, funciones sobre arrays, currying, composición y functores como Maybe y Either, imitando el funcionamiento de underscore.js.

