El navegador como entorno de ejecuciónDónde vive JavaScript, qué pone el lenguaje y qué pone el navegador
- Motor de JavaScript frente a APIs del navegador
- Cómo se carga un script: normal, defer, async y módulos
- La consola de las herramientas de desarrollo
- El modo estricto: 'use strict' y qué errores destapa
ABRIR UNIDAD → Tipos dinámicos y coerciónPor qué una variable puede cambiar de tipo y qué hace JavaScript cuando mezclas tipos
- let, const y por qué evitar var
- const no es inmutable: valores frente a referencias
- Los tipos primitivos y typeof
- Coerción, igualdad estricta y valores falsy
ABRIR UNIDAD → Funciones como valoresDeclarar funciones de tres formas y tratarlas como un dato más
- Declaración, expresión y función flecha
- Las partes de una función flecha y cómo convertir una función normal
- Parámetros por defecto y parámetros rest
- Pasar funciones como argumento: los callbacks
- Funciones que devuelven funciones
ABRIR UNIDAD → Ámbito y closuresDónde es visible cada variable y cómo una función recuerda el lugar en el que se creó
- Ámbito de bloque, de función y global
- La cadena de ámbitos: cómo se busca una variable
- Qué es un closure y para qué sirve
- El error clásico de var dentro de un bucle
ABRIR UNIDAD → Objetos, arrays y referenciasCómo se guardan los datos compuestos y qué se copia realmente al asignarlos
- Objetos literales y arrays
- Asignar un objeto copia la referencia, no el contenido
- Desestructuración y operador spread
- Copias superficiales con spread y copias profundas
ABRIR UNIDAD → Ejercicios adicionalesMás código para practicar lo visto en el módulo, agrupado por unidad.
- U01El navegador como entorno de ejecución2
- U02Tipos dinámicos y coerción3
- U03Funciones como valores3
- U04Ámbito y closures3
- U05Objetos, arrays y referencias2
- U06Transformar colecciones con métodos de array4
ABRIR EJERCICIOS →