Curso de Programación en JavaScript

Bienvenido al Curso completo de JavaScript moderno, actualizado a ECMAScript 2026, la última versión del estándar. Este curso está diseñado para personas que nunca han programado antes y quieren aprender desde cero hasta un nivel profesional el lenguaje de la web, tanto en el navegador como en el servidor con Node.js.

💡 Consejo: JavaScript trabaja sobre páginas web. Si todavía no conoces HTML y CSS, te recomendamos empezar por el Curso de HTML5, CSS3 y Bootstrap (al menos sus módulos de HTML).

¿Qué vas a aprender?

Al finalizar este curso serás capaz de:

  • Comprender qué es JavaScript, cómo se ejecuta y qué es ECMAScript
  • Dominar los fundamentos: variables, tipos, operadores, estructuras de control y funciones
  • Trabajar con arrays, objetos, cadenas y expresiones regulares con la sintaxis más moderna
  • Programar orientado a objetos con prototipos y clases (campos privados, static, herencia)
  • Gestionar errores de forma robusta
  • Usar Map, Set, iteradores, generadores e iterator helpers
  • Dominar la asincronía: event loop, promesas y async/await
  • Organizar el código con módulos ES
  • Manipular el DOM, gestionar eventos y validar formularios
  • Consumir APIs REST con fetch y usar las APIs del navegador (almacenamiento, observers, workers…)
  • Trabajar con fechas e internacionalización (Intl y Temporal)
  • Desarrollar con Node.js, npm y Vite
  • Escribir código de calidad con ESLint, Prettier, JSDoc/TypeScript y tests con Vitest
  • Construir y publicar una aplicación web completa

Versión del curso

El curso utiliza JavaScript moderno según ECMAScript 2026 (aprobado en junio de 2026) y Node.js 24 LTS (o Node.js 26, que pasa a LTS a finales de octubre de 2026). Todos los ejemplos funcionan en las versiones actuales de Chrome, Edge, Firefox y Safari.

Estructura del curso

El curso se divide en 23 módulos organizados de forma progresiva:

Bloque 1: Fundamentos del lenguaje (Módulos 00-08)

Módulo Tema Descripción
00 Introducción Qué es JavaScript, historia, ECMAScript y TC39, motores, dónde se ejecuta
01 Entorno de desarrollo Navegador y DevTools, VS Code, Node.js, la etiqueta script, primer programa
02 Variables y tipos de datos let, const, var, tipos primitivos, typeof, conversiones, BigInt, Symbol
03 Operadores Aritméticos, comparación, == frente a ===, lógicos, ??, ?., asignación lógica
04 Estructuras de control if/else, switch, for, while, do-while, for…of, for…in, break y continue
05 Funciones Declaraciones, expresiones, arrow functions, parámetros, ámbito, closures, hoisting
06 Arrays Métodos esenciales, map/filter/reduce, métodos inmutables, Object.groupBy, desestructuración
07 Objetos Literales, propiedades, métodos, this, desestructuración, spread, JSON, structuredClone
08 Cadenas y expresiones regulares Template literals, métodos de String, Unicode, expresiones regulares, RegExp.escape

Bloque 2: JavaScript avanzado (Módulos 09-13)

Módulo Tema Descripción
09 POO: prototipos y clases Prototipos, clases, campos privados, static, getters/setters, herencia
10 Gestión de errores try/catch/finally, tipos de Error, cause, errores personalizados, Error.isError
11 Colecciones, iteradores y generadores Map, Set y sus nuevos métodos, WeakMap, iteradores, generadores, iterator helpers
12 Asincronía Event loop, callbacks, promesas, async/await, combinadores, AbortController
13 Módulos Módulos ES, import/export, import dinámico, import maps, import attributes

Bloque 3: JavaScript en el navegador (Módulos 14-18)

Módulo Tema Descripción
14 El DOM Árbol DOM, seleccionar, crear, modificar y eliminar elementos, atributos, clases y estilos
15 Eventos addEventListener, objeto Event, propagación, delegación, teclado y ratón
16 Formularios y validación FormData, Constraint Validation API, validación personalizada, envío
17 Fetch y APIs REST HTTP, fetch, JSON, gestión de errores, cancelación, CORS, CRUD contra una API
18 APIs del navegador localStorage, IndexedDB, geolocalización, Intersection Observer, portapapeles, Web Workers

Bloque 4: JavaScript profesional (Módulos 19-22)

Módulo Tema Descripción
19 Fechas e internacionalización Date, Temporal, Intl.NumberFormat, DateTimeFormat, RelativeTimeFormat
20 Node.js, npm y Vite Node.js, npm, package.json, módulos node:, servidor HTTP, herramientas de build con Vite
21 Calidad y testing ESLint, Prettier, JSDoc, introducción a TypeScript, tests con Vitest
22 Proyecto final Aplicación web completa con módulos, fetch, almacenamiento y tests, publicada en GitHub Pages

Requisitos

  • Ningún conocimiento previo de programación (se recomiendan nociones básicas de HTML y CSS)
  • Un ordenador con Windows, macOS o Linux
  • Un navegador moderno (Chrome, Firefox, Edge o Safari)
  • Visual Studio Code y Node.js (se explica su instalación en el módulo 01)

Convenciones utilizadas

A lo largo del curso encontrarás estos indicadores:

📘 Concepto: Explicación teórica de un concepto importante.

💻 Ejemplo: Código de ejemplo que puedes copiar y ejecutar.

✏️ Ejercicio: Práctica para que resuelvas por tu cuenta.

⚠️ Importante: Información crucial que debes recordar.

💡 Consejo: Trucos y buenas prácticas profesionales.


Table of contents