
You Don't Know JS. Types & Grammar
Kyle Simpson
- Editorial
- O'Reilly
- Año
- 2015
- Páginas
- ~195
- Nivel
- Intermedio
De qué trata
Cuarto título de la serie «You Don't Know JS», en el que Kyle Simpson analiza a fondo el sistema de tipos de JavaScript y las reglas gramaticales del lenguaje, según la especificación ES5 y con referencias a ES6. Va dirigido a desarrolladores que ya escriben JavaScript a diario y quieren entender por qué el lenguaje se comporta como lo hace, sin quedarse en la idea habitual de que la coerción es un defecto que hay que evitar. Conviene haber leído antes «Up & Going» o tener una base sólida del lenguaje.
El libro tiene cinco capítulos. En «Types» presenta los tipos integrados (null, undefined, boolean, number, string, object y symbol) y la diferencia entre undefined y no declarado. En «Values» trata arrays, strings y números: precisión de punto flotante, Number.EPSILON, NaN, infinitos, el cero negativo y la diferencia entre asignar por valor y por referencia. En «Natives» explica los constructores nativos (String, Number, Object, Array, RegExp, Date, Error, Symbol), el boxing y unboxing de primitivos y la propiedad interna [[Class]]. El capítulo central, «Coercion», detalla las operaciones abstractas ToString, ToNumber, ToBoolean y ToPrimitive, los valores falsy, la coerción explícita e implícita, y las diferencias entre == y === y entre los operadores relacionales. Por último, «Grammar» repasa sentencias y expresiones, la precedencia y asociatividad de operadores, la inserción automática de punto y coma (ASI), los errores tempranos, la TDZ y las particularidades de switch y de try..finally. Un apéndice cubre el JavaScript en entornos mixtos: Annex B, objetos del host, variables globales creadas por los id del DOM, extensión de prototipos nativos y límites de las implementaciones.
No hay proyectos ni ejercicios guiados: es un libro conceptual que avanza con fragmentos de código cortos para mostrar casos límite. Su gran aporte es que defiende, con argumentos, que la coerción implícita se puede usar con criterio si se conocen sus reglas. Esa postura choca con muchas guías de estilo, así que conviene leerla con mentalidad abierta. Algunos detalles se han quedado atrás, ya que no cubre BigInt ni los cambios posteriores a ES6, pero el núcleo sigue vigente. La edición original se puede leer libremente en el repositorio del autor en GitHub.
- Tipos primitivos
- Coerción
- == vs ===
- Valores falsy
- Números y NaN
- Natives y boxing
- ToPrimitive
- Precedencia de operadores
- ASI
- Gramática de JavaScript
- Annex B
¿Cómo enseña?
Teórico
- ✗ Sin ejercicios
- ✗ Sin proyectos

