Nivel inicial5 min de lectura · Publicado el

Libros de consulta JavaScript: You Don't Know JS

Libros de consulta de JavaScript: el libro de instrucciones frente al manual de taller, que abre el capó y explica this, var y let. JS: saber por qué funcionarubentejera.com qué pulsarthisvarletpor qué funciona
El libro de instrucciones te dice qué botón pulsar; el manual de taller abre el capó. You Don't Know JS es el segundo: explica cómo funcionan por dentro this, var o let.

Usas JavaScript a diario, pero de vez en cuando algo no hace lo que esperabas: this vale otra cosa, una variable existe antes de declararla o una comparación da true sin motivo aparente. You Don’t Know JS es el libro al que se vuelve en esos momentos.

Su título es una provocación: «no sabes JS». La idea es que casi todo el mundo aprende JavaScript lo justo para que funcione, y esta serie va al fondo. Es como un manual de taller frente al libro de instrucciones del coche.

Qué es y quién lo hizo

Lo escribió Kyle Simpson (getify en GitHub), que imparte cursos de JavaScript en vídeo. El texto completo de la serie está publicado en GitHub, donde se puede leer gratis.

  • Primera edición: seis libros publicados por O’Reilly entre 2014 y 2015. Ya no se pueden comprar, pero se leen gratis en el repositorio.
  • Segunda edición: se autopublica y también se vende en Leanpub y Amazon. El autor la da por terminada y ya no acepta contribuciones.

Qué contiene cada edición

1.ª edición: You Don't Know JS

  • Up & Going
  • Scope & Closures
  • this & Object Prototypes
  • Types & Grammar
  • Async & Performance
  • ES6 & Beyond

2.ª edición: You Don't Know JS Yet

  • Get Started
  • Scope & Closures
  • «The Unbooks»: Objects & Classes (borrador estable) y Types & Grammar (borrador)
  • Sync & Async y ES.Next & Beyond: cancelados

La segunda edición se da por terminada, pero dos de sus libros se cancelaron y otros dos se quedaron en borrador. Por eso, para la asincronía (callbacks, promesas, generadores), la referencia de la serie sigue siendo Async & Performance, de la primera edición.

Un ejemplo de lo que explica

Estas tres líneas sorprenden a mucha gente. La serie dedica capítulos enteros a por qué pasan:

console.log(typeof saludo); // undefined: la declaración con var «sube» (hoisting)
var saludo = 'hola';

const conVar = [];
for (var i = 0; i < 3; i++) conVar.push(() => i);
console.log(conVar.map((f) => f())); // [ 3, 3, 3 ]: una sola i para todo el bucle

const conLet = [];
for (let j = 0; j < 3; j++) conLet.push(() => j);
console.log(conLet.map((f) => f())); // [ 0, 1, 2 ]: una j nueva en cada vuelta

Con var, las tres funciones comparten la misma variable i, que al final vale 3. Con let, cada vuelta del bucle crea una variable nueva. Es justo el terreno de Scope & Closures. En español, el hoisting lo tienes en var, let y const y este bucle, en closures en JavaScript.

Cómo sacarle partido

El autor recomienda leer la segunda edición en este orden:

  1. Get Started: visión general del lenguaje y de cómo pensar en él.
  2. Scope & Closures: ámbito de las variables y clausuras (funciones que recuerdan las variables de donde nacieron).
  3. The Unbooks: objetos, clases, tipos y gramática.

Después, ve a Async & Performance de la primera edición para la asincronía. Y úsalo como libro de consulta: cuando algo raro pase en tu código, busca el capítulo que lo explica y reprodúcelo en la consola del navegador o con Node.

Para poner a prueba lo aprendido, revisa las diferencias entre == y === en JavaScript, uno de los temas de Types & Grammar.

Para quién es y lo que conviene saber

Get Started sirve para quien ya ha escrito algo de JavaScript, aunque sea poco. Los demás libros encajan si programas con el lenguaje y quieres entender el porqué, no solo el cómo. Si nunca has programado, mejor empezar por un tutorial guiado.

  • Idioma: inglés. El repositorio oficial no ofrece versión en español.
  • Precio: gratis en GitHub; de pago en Leanpub y Amazon.
  • Licencia: Creative Commons BY-NC-ND 4.0. Puedes leerlos y compartirlos, pero no venderlos ni publicar versiones modificadas.
  • Actualidad: la primera edición es de 2014–2015 y no recoge lo que ha llegado al lenguaje después; la segunda, sí en parte.

Dónde leerlo

Alternativas actuales

Cuando domines la base, JavaScript Allongé profundiza en las funciones.

Fuentes

Comprobado el 7 de noviembre de 2026: