Módulo 4JavaScript ES6+DOM APIFetch API
Módulo IV — JavaScript Avanzado y DOM
¿Qué aprenderás?
Este módulo eleva tu JavaScript al nivel profesional. Pasarás de escribir scripts sueltos a diseñar sistemas con clases, herencia, eventos y comunicación con APIs reales.
| Tema | Tipo | Duración |
|---|---|---|
| POO en JavaScript (Parte I) | Teoría | 6h |
| POO en JavaScript (Parte II) | Práctica | 6h |
| Características ES6+ | Teoría | 6h |
| DOM, Eventos y Async | Proyecto | 8h |
| Consumo de APIs con Fetch | Práctica | 6h |
Habilidades que desarrollarás
- Modelar dominio con clases, herencia y encapsulamiento con campos privados (
#) - Escribir JavaScript moderno con destructuring, spread/rest, optional chaining y nullish coalescing
- Manipular el DOM de forma segura con
querySelector,createElementytextContent - Gestionar eventos con bubbling, delegación y
addEventListener - Manejar asincronía con Promises y
async/await+try/catch - Consumir APIs REST reales con Fetch API y procesar respuestas JSON
Proyecto integrador
Gestor de Tareas — Vanilla JS
Construir un Gestor de Tareas completo que demuestre el dominio de POO, manipulación del DOM, gestión de eventos y comunicación asíncrona, sin usar ninguna librería externa.
Paso a paso
- Define una clase
Tareacon propiedades:id,titulo,descripcion,completadayfechaCreacion. - Define una clase
GestorTareasque administre la colección: métodosagregar,editar,eliminar,filtrarymarcarCompleta. - Implementa una fake-API asíncrona (
fakeFetch) que devuelva Promises con simulación de latencia (300–800 ms) y lance errores aleatorios (~10% de las veces). - Construye la interfaz DOM: formulario de creación, lista de tareas renderizada dinámicamente, y botones de editar, eliminar y completar.
- Usa delegación de eventos en el contenedor de la lista para manejar las acciones de cada tarea.
- Maneja los estados de carga (
loading,error,success) de forma visible en la interfaz. - Persiste las tareas en
localStoragepara que sobrevivan al refresco de página.
Entregable
Sube el link del repositorio GitHub que contenga:
- Los archivos fuente (
index.htmly módulos ES:Tarea.js,GestorTareas.js,api.js,ui.js) README.mdcon descripción de la arquitectura y cómo ejecutar el proyecto- El proyecto debe funcionar correctamente abriendo
index.htmldirectamente en el navegador