CodeForge

supercurso 02

JavaScript de Cero a Experto

El lenguaje de la web a fondo: del primer console.log a patrones, asincronía y testing.

17 módulos130 lecciones publicadas~55 h de contenidodesde cero

Temario

01Primeros pasos0/6
  1. Qué es JavaScript y dónde vive18m20
  2. La consola: tu laboratorio (y los comentarios)18m20
  3. Variables: guardar datos con let y const20m20
  4. Tipos primitivos I: textos y números20m20
  5. Tipos primitivos II: boolean, null, undefined y typeof20m20
  6. Reto: el resumen del día de Mi Bolsillo25m40
02Operadores y control0/7
  1. Operadores aritméticos: hacer cuentas18m20
  2. Comparación e igualdad: === siempre20m20
  3. Operadores lógicos: &&, || y ??20m20
  4. Truthy y falsy: qué vale como verdadero18m20
  5. Condicionales: if, else if, else20m20
  6. switch y el operador ternario18m20
  7. Reto: el asesor de Mi Bolsillo30m60
03Funciones0/8
  1. Funciones: empaquetar y reutilizar código20m20
  2. Parámetros, argumentos y valores por defecto20m20
  3. Arrow functions: la forma moderna20m20
  4. Rest parameters: argumentos flexibles18m20
  5. Scope: el alcance de las variables20m20
  6. Closures: la mochila de la función22m20
  7. Hoisting e IIFE: comportamientos que debes conocer18m20
  8. Reto: la caja de Mi Bolsillo30m60
04Arrays0/8
  1. Arrays: listas de datos20m20
  2. Modificar arrays: agregar y quitar20m20
  3. Recorrer arrays: for, for...of y forEach22m20
  4. map: transformar una lista20m20
  5. filter y find: seleccionar elementos20m20
  6. reduce: acumular una lista en un valor22m20
  7. some, every, includes, sort e inmutabilidad22m20
  8. Reto: análisis de gastos30m60
05Objetos0/9
  1. Objetos: agrupar datos que van juntos20m20
  2. Métodos y this: objetos que hacen cosas20m20
  3. Destructuring: desempacar en una línea20m20
  4. Spread: copiar, combinar y actualizar sin mutar20m20
  5. Referencias vs copias: el bug más desconcertante20m20
  6. Optional chaining y nullish: navegar sin explotar18m20
  7. JSON: el idioma en que viajan los datos18m20
  8. Map y Set: colecciones con superpoderes18m20
  9. Reto: Mi Bolsillo v2, gastos con nombre propio30m60
06Strings, números y fechas0/7
  1. Template literals: strings con espacios en blanco18m20
  2. Métodos de string: operar texto como profesional20m20
  3. Números y Math: convertir, redondear y el susto del 0.1 + 0.220m20
  4. Intl: plata y números en perfecto colombiano18m20
  5. Fechas con Date: domar al objeto más tramposo20m20
  6. Regex desde cero: el detector de patrones22m20
  7. Reto: el recibo perfecto30m60
07DOM a fondo0/8
  1. El DOM: tu HTML convertido en objetos vivos20m20
  2. Seleccionar elementos: querySelector y querySelectorAll18m20
  3. Contenido: textContent vs innerHTML18m20
  4. Crear e insertar: createElement, append y remove20m20
  5. Atributos, classList y data-*20m20
  6. Estilos desde JavaScript: style, clases y variables CSS20m20
  7. Fragmentos y rendimiento: tocar el DOM con cabeza18m20
  8. Reto: Mi Bolsillo en pantalla35m60
08Eventos y listeners0/8
  1. addEventListener: tu página reacciona20m20
  2. El objeto event: el acta del suceso20m20
  3. Formularios: submit y preventDefault20m20
  4. Burbujeo y captura: los eventos viajan20m20
  5. Delegación de eventos: un listener para toda la lista20m20
  6. CustomEvent: fabrica tus propios eventos20m20
  7. AbortController: el interruptor maestro de tus listeners18m20
  8. Reto: Mi Bolsillo interactivo45m100
09Asincronía I0/7
  1. Síncrono vs asíncrono: esperar sin congelar20m20
  2. El event loop: el restaurante por dentro22m20
  3. Callbacks asíncronos y su infierno20m20
  4. Promesas I: consumirlas con then, catch y finally20m20
  5. Promesas II: fabricarlas con new Promise20m20
  6. Encadenar promesas: la pirámide, aplanada20m20
  7. Reto: Mi Bolsillo en la nube (simulada)35m60
10Asincronía II0/7
  1. async/await: promesas con ropa de código normal20m20
  2. Errores asíncronos: try, catch y throw20m20
  3. Promise.all y sus hermanos: esperar en paralelo22m20
  4. fetch: tu primera API real20m20
  5. fetch II: POST, headers y el cuerpo20m20
  6. fetch III: errores, estados de carga y AbortController22m20
  7. Reto: buscador de países con API real45m100
11POO en JS0/7
  1. Clases: fabricar objetos en serie20m20
  2. this a fondo: las cuatro reglas, de una vez22m20
  3. Prototipos sin miedo: la maquinaria bajo las clases20m20
  4. Herencia: extends, super e instanceof20m20
  5. Getters, setters y static20m20
  6. Campos privados: el candado #18m20
  7. Reto: Mi Bolsillo, edición de lujo35m60
12JS funcional0/6
  1. Funciones puras: el corazón del estilo funcional20m20
  2. Inmutabilidad como estilo de vida20m20
  3. Funciones de orden superior: fábricas de funciones20m20
  4. Composición y pipes: la línea de ensamble20m20
  5. Currying y aplicación parcial: argumentos por etapas20m20
  6. Reto: el motor de reportes puro35m60
13Patrones y observables0/7
  1. Módulos ESM: import y export20m20
  2. Singleton: el único ejemplar18m20
  3. Factory: fábricas que deciden por ti18m20
  4. Observer / pub-sub: constrúyelo desde cero22m20
  5. El store observable: un valor que avisa20m20
  6. Máquina de estados: transiciones con permiso20m20
  7. Reto: Mi Bolsillo reactivo35m60
14APIs del navegador0/7
  1. localStorage: datos que sobreviven a la recarga20m20
  2. IntersectionObserver: el portero que avisa20m20
  3. MutationObserver y ResizeObserver: cámaras del DOM18m20
  4. Web Workers: el segundo cocinero20m20
  5. Clipboard, Geolocation y Notification: APIs con permiso20m20
  6. History API: el cuaderno de rutas de las SPAs20m20
  7. Reto: Mi Bolsillo que no olvida45m100
15Manejo de errores y debugging0/7
  1. La anatomía de un error: leer lo que grita la consola20m20
  2. throw, try, catch, finally: la red de seguridad20m20
  3. Errores personalizados: ponle nombre a tus fallas20m20
  4. Fallar bien: la estrategia detrás del try/catch20m20
  5. console más allá del .log: la caja del detective20m20
  6. Debugging real: breakpoints y el método científico25m20
  7. Reto: Mi Bolsillo blindado35m60
16Testing con Vitest0/7
  1. Por qué testear: el cinturón de seguridad del código20m20
  2. Construye tu propio expect: un framework en 15 líneas25m20
  3. Vitest de verdad: describe, it, expect25m20
  4. Un buen test: AAA y el arte de romper el código25m20
  5. TDD: rojo, verde, refactor25m20
  6. Mocks y spies: dobles de acción para tus tests25m20
  7. Reto: la red de seguridad de Mi Bolsillo40m60
17Proyectos + retos0/14
  1. El cierre: cómo se arma un proyecto de verdad20m20
  2. Proyecto: Mi Bolsillo definitivo (CRUD + localStorage)180m150
  3. Proyecto: buscador con API, búsqueda en vivo y paginación180m150
  4. Proyecto: juego de trivia con timer y máquina de estados180m150
  5. Reto de entrevista: FizzBuzz15m40
  6. Reto de entrevista: invertir y palíndromos15m40
  7. Reto de entrevista: frecuencia de caracteres15m40
  8. Reto de entrevista: anagramas20m60
  9. Reto de entrevista: el par que suma (Two Sum)20m60
  10. Reto de entrevista: aplanar un array (recursión)20m60
  11. Reto de entrevista: agrupar por propiedad (groupBy)20m60
  12. Reto de entrevista: memoize (caché de resultados)20m60
  13. Reto de entrevista: throttle (controlar el caudal)25m100
  14. Reto de entrevista: debounce (el jefe final)25m100