Volver a la página principal
sábado 26 octubre 2024
5

Para qué sirve la propiedad strictNullChecks en tsconfig.json

¿Qué es 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.

Ejemplo de configuración con 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.

Ejemplo de uso con 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.

Ventajas de utilizar 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.

Enlaces de interés

Para más información sobre strictNullChecks y configuraciones avanzadas en TypeScript, consulta la documentación oficial de TypeScript.

Etiquetas:
typescript
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer