Curso interactivo
Curso de JavaScript
Aprende JavaScript desde cero con un motor interactivo que ejecuta tu código directamente en el navegador.
01 · Módulo 1 — Fundamentos del lenguaje
Las bases: declarar variables, reconocer tipos, realizar operaciones aritméticas y tomar decisiones.
- 1.1Variables: let y constDeclarar valores, elegir entre const y let, comprender el ámbito básico.~8 min
- 1.2Tipos primitivosstring, number, boolean, null, undefined: los componentes básicos del lenguaje.~8 min
- 1.3OperadoresOperadores aritméticos, de comparación, lógica booleana y precedencia de operadores.~10 min
- 1.4Condicionales: if, else, ternarioEjecutar código diferente según el valor de una expresión.~10 min
02 · Módulo 2 — Cadenas y números
Los dos tipos más utilizados: componer texto con plantillas literales, manipularlo con métodos de cadena, hacer aritmética con números y Math.
- 2.1Cadenas y plantillas literalesComillas, escapes, acentos graves e interpolación ${...} para componer texto.~8 min
- 2.2Métodos de cadenalength, toUpperCase, includes, slice, split, replace: los métodos que utilizas todos los días.~10 min
- 2.3Números y MathEnteros y decimales, redondeo, Math.min/max/round/floor/ceil, Math.random.~10 min
- 2.4Conversiones de tipoNumber, String, parseInt, parseFloat, toFixed y cuándo te afecta NaN.~8 min
03 · Módulo 3 — Arrays y objetos
Las dos estructuras de datos más utilizadas: listas ordenadas (arrays) y mapas de clave-valor (objetos).
- 3.1Arrays: la lista ordenadaCrear un array, leer/escribir por índice, push/pop/shift/unshift, length.~10 min
- 3.2Objetos: el mapa de clave-valorLiterals, acceso por punto y corchetes, añadir/eliminar propiedades.~10 min
- 3.3Desestructuración y spreadExtraer múltiples valores en una sola línea; copiar y unir arrays y objetos con `...`.~12 min
- 3.4Iterar sobre coleccionesfor…of en arrays, for…in en objetos, Object.keys/values/entries.~10 min
04 · Módulo 4 — Funciones
Divide tus programas en piezas reutilizables: decláralas, escríbelas de forma compacta con flechas, pasa parámetros flexibles y comprende las clausuras (closures).
- 4.1Declarar una funciónDiferencia entre declaration y expression, parámetros, retorno.~10 min
- 4.2Funciones flechaSintaxis compacta `=>`, cuerpo conciso frente a bloque, retorno implícito.~10 min
- 4.3Parámetros por defecto y restValores por defecto, `...rest` para número variable de argumentos, spread en la llamada.~12 min
- 4.4Closures y ámbitoFunciones que recuerdan su entorno: contadores, fábricas, cadena de ámbitos.~12 min
05 · Módulo 5 — Control de flujo
Repetir, saltar, manejar errores: las estructuras que permiten a tu código reaccionar a datos y problemas.
- 5.1Bucles: for y whilefor clásico, while, do…while: repetir hasta cumplir una condición.~10 min
- 5.2for…of y for…inIterar valores de una colección frente a claves de un objeto. Cuándo usar cada uno.~10 min
- 5.3break y continueSalir de un bucle antes de tiempo o saltar a la siguiente iteración.~10 min
- 5.4try / catch / throwLanzar y capturar errores, separar el flujo normal del flujo excepcional.~12 min
06 · Módulo 6 — Métodos funcionales de array
Los métodos que transforman arrays: map para cambiar cada elemento, filter para seleccionar, reduce para agregar, find/some/every para buscar, sort para ordenar.
- 6.1map y filterTransformar cada elemento (map) y seleccionar un subconjunto (filter).~10 min
- 6.2reduceAgregar un array en un único valor: sumas, recuentos, mapas.~12 min
- 6.3find, some, everyEncontrar el primero, verificar si al menos uno o todos cumplen un predicado.~10 min
- 6.4sortOrdenar un array con un comparador; ordenación estable, copia mediante toSorted.~12 min
07 · Módulo 7 — Asincronía
Código que espera: Promesas, async/await, llamadas de red simuladas (fetch) y manejo de errores asíncronos.
- 7.1Promesas: qué sonEstado pendiente/cumplida/rechazada, .then/.catch, Promise.resolve y reject.~12 min
- 7.2async / awaitEscribir código asíncrono que se lee como código síncrono.~12 min
- 7.3fetch (simulado)Llamar a un endpoint, leer JSON, componer resultados con Promise.all.~14 min
- 7.4Errores en código asíncronotry/catch alrededor de await, .catch en Promesas, fallos en Promise.all.~12 min
08 · Módulo 8 — Práctica y composición
Une todas las piezas: organiza el código en módulos, parsea un CSV, valida datos de entrada y programa tareas con Promesas.
- 8.1Módulos ESM: import / exportDividir el código en archivos y componer librerías con export e import (concepto).~12 min
- 8.2Desafío: parser de CSVConvertir una cadena CSV en un array de objetos usando split, map y desestructuración.~15 min
- 8.3Desafío: validador de datosValidar objetos con reglas componibles y recopilar todos los errores.~15 min
- 8.4Desafío: programación con PromesasEjecutar tareas en serie, en paralelo y con un límite de concurrencia.~15 min