</> CodeBooks
    ← Volver a JavaScript (página 8)
    Portada de You Don't Know JS. Scope & Closures

    You Don't Know JS. Scope & Closures

    Kyle Simpson

    Editorial
    O'Reilly
    Año
    2014
    Páginas
    ~98
    Nivel
    Intermedio

    De qué trata

    Libro breve de la primera edición de You Don't Know JS, publicado por O'Reilly en 2014, que Kyle Simpson dedica por completo a dos de los conceptos más malinterpretados de JavaScript: el ámbito (scope) y los closures. Está basado en ES5, con referencias a lo que traería ES6 (let, const, funciones flecha), y está pensado para quienes ya programan en JavaScript y usan closures sin saberlo, o los usan sin entender del todo cómo funcionan.

    El libro explica cómo el motor de JavaScript compila y resuelve los identificadores, con la conversación entre motor, compilador y ámbito y las búsquedas LHS y RHS; el ámbito léxico y cómo eval y with lo alteran (y por qué evitarlos); el ámbito de función frente al de bloque, con IIFE, let, const y catch; y el hoisting de variables y funciones. El capítulo central explica los closures como consecuencia natural del ámbito léxico, con ejemplos de bucles y temporizadores, y los aplica al patrón módulo, tanto el clásico como los módulos de ES6. Los apéndices comparan el ámbito léxico con el dinámico, muestran cómo hacer polyfill del ámbito de bloque y explican el this léxico de las funciones flecha.

    No tiene proyectos ni ejercicios formales; avanza con fragmentos de código cortos y razonamientos paso a paso. Su aporte es construir un modelo mental sólido del ámbito, imprescindible para entender después this, los módulos o la programación asíncrona. Conviene saber que es anterior al uso generalizado de let/const y de los módulos ES, por lo que algunos patrones (IIFE, módulo revelador) hoy se ven menos; la segunda edición (2020) actualiza y amplía el tema.

    • Ámbito (scope)
    • Compilación en JS
    • Búsquedas LHS y RHS
    • Ámbito léxico
    • eval y with
    • Ámbito de bloque
    • IIFE
    • Hoisting
    • Closures
    • Patrón módulo
    • this léxico

    ¿Cómo enseña?

    TeóricoPráctico

    Teórico

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

    Más de JavaScript con nivel Intermedio