strictNullChecks
en tsconfig.json
?
Cuando se establece "strictNullChecks": true
en tsconfig.json
, TypeScript no permite que null
o undefined
se asignen a variables de otros tipos (como number
, string
, u objetos) a menos que el tipo de la variable incluya explícitamente null
o undefined
. Esto ayuda a evitar errores en tiempo de ejecución derivados de referencias a valores null
o undefined
en lugares inesperados. Por ejemplo, con strictNullChecks
activado, una variable de tipo string
no puede almacenar null
o undefined
a menos que se defina como string | null
o string | undefined
.
strictNullChecks
Para habilitar strictNullChecks
, configura tsconfig.json
de la siguiente manera:
{
"compilerOptions": {
"strictNullChecks": true
}
}
Con esta configuración, TypeScript será más riguroso y forzará a definir explícitamente el tipo null
o undefined
en las variables que puedan tener estos valores.
strictNullChecks
let name: string = "Alice";
name = null; // ❌ Error con `strictNullChecks`
let optionalName: string | null = "Bob";
optionalName = null; // ✔️ Correcto, ya que `optionalName` puede ser `null`
En este ejemplo, la variable name
no puede ser null
porque su tipo es solo string
. Sin embargo, optionalName
puede ser null
porque está definido explícitamente como string | null
.
strictNullChecks
1. Prevención de errores comunes: Reduce el riesgo de errores de referencia null
o undefined
en el código.
2. Mayor seguridad en el tipado: Asegura que los valores null
o undefined
sean tratados de manera explícita, lo que mejora la claridad y robustez del código.
3. Mantenimiento y legibilidad: Facilita el mantenimiento al forzar una declaración clara de cuándo una variable puede ser null
o undefined
.
Para más información sobre strictNullChecks
y configuraciones avanzadas en TypeScript, consulta la documentación oficial de TypeScript.
Jorge García
Fullstack developer