TypeScript
Superset tipado de JavaScript que añade tipos estáticos opcionales, mejorando la productividad del desarrollador, la detección de errores y la mantenibilidad del código.
¿Qué es?
TypeScript es un superset de JavaScript que añade tipos estáticos opcionales. Todo JavaScript válido es TypeScript válido, pero TypeScript permite declarar tipos que el compilador verifica antes de ejecutar, atrapando errores en desarrollo en lugar de producción.
¿Por qué TypeScript?
- Errores detectados en compilación, no en runtime
- Autocompletado inteligente en el IDE
- Refactoring seguro a escala
- Documentación implícita en los tipos
- Estándar de facto para proyectos JavaScript serios
Características clave
- Interfaces y types: definir formas de datos
- Generics: tipos parametrizados reutilizables
- Union types:
string | number - Type inference: el compilador deduce tipos automáticamente
- Strict mode: máxima seguridad de tipos
TypeScript en el ecosistema
- React: JSX tipado, props tipados
- Next.js: soporte nativo
- AWS CDK: infraestructura tipada
- Node.js: backend tipado
Configuración de strict
El modo estricto habilita todas las verificaciones de tipo. Es la configuración recomendada para proyectos nuevos:
{
"compilerOptions": {
"strict": true,
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"skipLibCheck": true,
"outDir": "dist"
}
}Las flags individuales que strict activa:
| Flag | Qué previene |
|---|---|
strictNullChecks | Acceso a null/undefined sin verificar |
noImplicitAny | Variables sin tipo explícito ni inferido |
strictFunctionTypes | Parámetros de función contravariantes incorrectos |
strictPropertyInitialization | Propiedades de clase no inicializadas |
noImplicitThis | Uso de this sin tipo conocido |
Cuándo NO usar TypeScript
- Scripts de una sola ejecución (bash o Python son más rápidos)
- Prototipos desechables donde la velocidad de iteración importa más que la corrección
- Proyectos donde el equipo no tiene experiencia con tipos estáticos (la curva de aprendizaje es real)
¿Por qué importa?
TypeScript convierte errores de runtime en errores de compilación. En proyectos de cualquier tamaño, el sistema de tipos actúa como documentación viva, habilita refactoring seguro y reduce la categoría de bugs más común: los errores de tipo.
Referencias
- TypeScript Documentation — Documentación oficial.
- TypeScript Handbook — Guía completa.
- TypeScript Playground — Microsoft, 2024. Entorno interactivo para experimentar con TypeScript.