VOLVER AL BLOG
TYPESCRIPT 4 min Ene 2026

TypeScript strict mode: la deuda técnica que se paga sola

Por qué los flags estrictos ahorran más tiempo del que cuestan.


Cada proyecto que hereda "strict": false tiene la misma historia: alguien lo apagó “para avanzar rápido” y tres años después nadie se atreve a encenderlo. Los números dicen otra cosa.

El costo real de strict: false

Sin strictNullChecks, cada acceso a propiedad es una apuesta. El clásico Cannot read properties of undefined no es un bug de JavaScript — es un bug de configuración de TypeScript. El compilador sabía que ese valor podía ser undefined y le dijiste que no te avisara.

Migración incremental sin drama

No enciendas todo el día uno. Orden que funciona:

// 1. Lo más barato, mayor retorno
"noImplicitAny": true,
// 2. El que mata bugs de producción
"strictNullChecks": true,
// 3. El resto
"strict": true

Combínalo con // @ts-expect-error en los puntos rojos existentes y una regla de CI: cero errores nuevos. La deuda vieja se paga por archivo tocado, no en un big bang.

El retorno

En un backend NestJS que migré, strictNullChecks reveló 47 accesos potencialmente nulos. Doce eran bugs reales reportados por usuarios en los seis meses anteriores. El compilador los tenía localizados gratis — solo había que dejarlo hablar.