Libro JavaScript Allongé: qué es y dónde leerlo gratis
Qué es y quién lo hizo
Lo escribió Reg Braithwaite, que firma como raganwald, autor de librerías de programación funcional para JavaScript como Allong.es. Es la nueva edición de su JavaScript Allongé original, escrito para ES5, rehecha para la sintaxis de ES2015: funciones flecha, const, desestructuración, iteradores, símbolos y clases.
Un allongé es un café alargado, y todo el libro juega con esa idea: los capítulos se llaman «El primer sorbo», «Remueve el Allongé» o «La fábrica de café». El subtítulo dice lo que de verdad importa: Programming from Functions to Classes in ECMAScript 2015.
| Dato | Valor |
|---|---|
| Autor | Reg «raganwald» Braithwaite |
| Edición | The “Six” Edition (ES2015) |
| Extensión | 511 páginas, 25 capítulos |
| Idioma | Inglés |
| Formatos | Lectura en línea, PDF y EPUB |
| Precio | Gratis en línea; en Leanpub eliges cuánto pagas |
| Última actualización | 26 de abril de 2019, marcado como completo |
Qué vas a aprender
El libro empieza por lo más pequeño, una función, y va construyendo hacia arriba. Es como aprender a dibujar empezando por los trazos: líneas y formas sencillas parecen poca cosa, pero todas las figuras se apoyan en ellas.
- Funciones básicas: argumentos, clausuras (funciones que recuerdan las variables de donde nacieron), ámbito y funciones con nombre.
- Combinadores y decoradores: funciones que reciben funciones y devuelven otras nuevas.
- Recetas: pequeñas utilidades listas para usar, como aplicación parcial,
tap,maybe,once,composeypipeline,memoizeomapWith. - Datos: arrays y desestructuración, recursión, mutación y copia en escritura.
- Objetos y estado: encapsular estado con clausuras,
thisy el contexto de una llamada. - Colecciones: iterables, generadores y colecciones perezosas.
- Clases y más allá: prototipos,
class, mixins, delegación y decoradores de métodos.
Al final, los patrones grandes dejan de parecer magia, porque has visto cómo se arman pieza a pieza.
Un ejemplo del estilo del libro
Estas dos utilidades siguen la idea de dos recetas del libro, once y compose, escritas aquí en versión breve:
// once: envuelve una función para que solo se ejecute la primera vez
const once = (fn) => {
let done = false;
let result;
return (...args) => {
if (!done) {
done = true;
result = fn(...args);
}
return result;
};
};
// compose: encadena funciones de derecha a izquierda
const compose = (...fns) => (value) => fns.reduceRight((acc, fn) => fn(acc), value);
const iniciar = once(() => {
console.log('Conectando…');
return 'conectado';
});
console.log(iniciar()); // Conectando… y después: conectado
console.log(iniciar()); // conectado (no vuelve a conectar)
const doble = (n) => n * 2;
const masUno = (n) => n + 1;
console.log(compose(doble, masUno)(5)); // 12: primero masUno, después doble
once funciona gracias a una clausura: la variable done vive dentro de la función que devuelve. Entender por qué es justo lo que enseña el libro. Si quieres una explicación en español antes de empezarlo, tienes closures en JavaScript.
Cómo sacarle partido
- Lee en orden los primeros capítulos, hasta «Recipes with Basic Functions». El resto se apoya en ellos.
- Escribe cada receta tú antes de mirar la solución, y pruébala en la consola del navegador o con Node.
- Busca una en tu código. Un
ifque evita repetir una inicialización es unonceesperando a nacer. - Deja las clases y los mixins para el final. Se entienden mucho mejor con la base de funciones.
Para quién es y lo que conviene saber
Encaja si ya programas en JavaScript y quieres entender las funciones a fondo, o si te interesa la programación funcional sin jerga matemática. No encaja si estás empezando con el lenguaje: te costará. Mejor primero una base como You Don’t Know JS o la lista de recursos de JavaScript en español.
Alternativas actuales
- Functional-Light JavaScript, de Kyle Simpson: programación funcional aplicada a JavaScript, gratis en GitHub y también en inglés.
- Eloquent JavaScript, de Marijn Haverbeke: cuarta edición de 2024, gratis en línea. Más general y apto para empezar.
Fuentes
Comprobado el 7 de noviembre de 2026:
- Página del libro en Leanpub: autor, subtítulo, índice, páginas, formatos, precio sugerido y fecha de la última actualización.
- Versión en línea (25 capítulos) y muestra en PDF: ambos enlaces responden (la muestra, solo por
http://: su certificado HTTPS no corresponde al dominio). - Alternativas: README de Functional-Light JS y portada de Eloquent JavaScript.
- El ejemplo de
onceycomposese ha ejecutado en Node 24.21.0.