tsconfig y buenas prácticas

Aprende a configurar TypeScript con criterio, activar el modo estricto y evitar patrones que debilitan el tipado.

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 compilas
  • module: sistema de módulos
  • strict: activa comprobaciones importantes
  • noEmit: ú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 type o interface para evitar objetos repetidos
  • prefiere unknown frente a any
  • activa strict

Cierre del curso

Con estas siete lecciones ya tienes una base sólida de TypeScript:

  1. qué es y cómo se compila
  2. tipos básicos e inferencia
  3. funciones y objetos tipados
  4. arrays, tuplas y unions
  5. interfaces, aliases y enums
  6. genéricos y narrowing
  7. 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.