Temario del Curso de TypeScript (de Cero a APIs con Node.js)
En este curso de TypeScript vas a pasar de conocer el tipado estático básico a construir una API REST completa con Node.js y Express totalmente tipada. Trabajamos el sistema de tipos en profundidad: tipos primitivos y literales, interfaces, type aliases, funciones genéricas, manejo de errores, módulos y programación orientada a objetos. Cerramos integrando Fetch/Axios, validación de datos y un proyecto final de API productiva. Todo en grupos reducidos de máximo 6 personas, con correcciones en vivo sobre tu código.
Introducción a TypeScript y Tipado Estático
Ventajas de TypeScript frente a JavaScript: feedback temprano, autocompletado y refactors seguros.
Instalación, configuración básica del compilador tsc y archivo tsconfig.json.
Primeros tipos: string, number, boolean, any y reglas de asignación.
Tipos Primitivos, Literales y Type Narrowing
Repaso de tipos primitivos y literales para valores específicos ("success" | "error", etc.).
Uniones y type narrowing usando typeof, in, instanceof y chequeos personalizados.
Buenas prácticas para evitar any y mantener el tipado explícito pero práctico.
Interfaces, Tipos Personalizados y Type Aliases
Definir contratos de datos con interface y type para objetos y colecciones.
Propiedades opcionales, de solo lectura y composición con extends e intersecciones.
Patrones comunes para tipar DTOs, respuestas de APIs y configuraciones.
Funciones Tipadas, Parámetros Opcionales y Genéricos
Funciones con parámetros obligatorios, opcionales y valores por defecto.
Firma de funciones, tipos de retorno, funciones que nunca retornan (never) y callbacks tipados.
Introducción a genéricos: funciones y utilidades que funcionan con múltiples tipos sin perder seguridad.
Módulos, Namespaces y Organización de Código
Importación y exportación con módulos ES y módulos comunes en proyectos TypeScript.
Separación por capas y responsabilidades: archivos, carpetas y convenciones de nombres.
Uso razonable de namespaces y declaración de tipos globales cuando realmente hace falta.
Manejo de Errores, Never y Exhaustividad
Errores en TypeScript: tipos para Error, manejo con try/catch y propagación segura.
Uso del tipo never para asegurar que un switch es exhaustivo y no quedan casos sin manejar.
Patrones de resultado (Result<T, E>) y manejo explícito de éxito/error.
Programación Orientada a Objetos con TypeScript
Clases, constructores y propiedades con modificadores de acceso (public, private, protected).
Interfaces para contratos de clases, herencia y composición.
Clases abstractas, métodos estáticos y patrones simples aplicados a servicios de aplicación.
Working with APIs: Fetch, Axios y Tipado de Respuestas
Consumo de APIs REST usando fetch y Axios en proyectos TypeScript.
Tipado de requests y responses: DTOs, parámetros de ruta/query y body.
Manejo tipado de errores, estados de carga y respuestas parciales u opcionales.
Integración con Node.js, Express y Validación de Datos
Creación de un proyecto backend con Node.js, Express y TypeScript desde cero.
Rutas, controladores y middlewares completamente tipados (req, res, next).
Validación de datos de entrada con librerías como Zod o class-validator y tipos seguros en el controlador.
Proyecto Final: API Tipada Full TypeScript
Diseño de la API final: recursos, endpoints, modelos de datos y relaciones.
Implementación de casos de uso reales: creación, listado, actualización y borrado con validaciones.
Buenas prácticas para desplegar una API TypeScript (scripts de build, variables de entorno y estructura productiva).