tsconfig y buenas prácticas
Saber sintaxis no basta. Una parte importante de TypeScript está en cómo lo configuras y en qué concesiones haces al compilador.
El archivo tsconfig.json
tsconfig.json define cómo TypeScript analiza y compila tu proyecto.
Un ejemplo sencillo:
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"strict": true,
"noEmit": true
}
}
Opciones clave
target: a qué versión de JavaScript compilasmodule: sistema de módulosstrict: activa comprobaciones importantesnoEmit: útil si otra herramienta ya compila y TypeScript solo valida
Activa strict
Si solo te quedas con una regla, que sea esta:
{
"compilerOptions": {
"strict": true
}
}
El modo estricto obliga a no dar por hecho cosas que podrían ser undefined, null o de tipo dudoso.
Es donde de verdad TypeScript empieza a pagar el alquiler.
Evita any como salida fácil
// Mal
function procesar(datos: any) {
return datos.usuario.nombre;
}
Si no sabes qué llega, usa unknown y valida:
function procesar(datos: unknown) {
if (typeof datos === 'object' && datos !== null && 'usuario' in datos) {
return datos;
}
return null;
}
No luches contra el compilador
Si TypeScript te obliga a hacer varias comprobaciones, normalmente no está siendo pesado: te está señalando que tu contrato de datos no es tan claro como parecía.
Forzarlo con castings constantes suele ser síntoma de mal modelado.
const input = document.querySelector('#email') as HTMLInputElement;
Ese cast puede estar bien si sabes que el elemento existe. Si no lo sabes, valida antes.
Buenas prácticas que sí merecen la pena
- deja que la inferencia haga su trabajo
- anota funciones públicas y contratos importantes
- modela estados con unions discriminados
- usa
typeointerfacepara evitar objetos repetidos - prefiere
unknownfrente aany - activa
strict
Cierre del curso
Con estas siete lecciones ya tienes una base sólida de TypeScript:
- qué es y cómo se compila
- tipos básicos e inferencia
- funciones y objetos tipados
- arrays, tuplas y unions
- interfaces, aliases y enums
- genéricos y narrowing
- configuración y criterio práctico
Eso ya te permite leer y escribir TypeScript real sin ir improvisando.
Si quieres una referencia rápida para tipos, interfaces, genéricos y utilidades habituales, tienes la Cheat Sheet completa de TypeScript.
Y si quieres seguir creciendo en JavaScript del navegador, APIs y patrones modernos, tienes también el Curso de JavaScript Intermedio/Avanzado.