El lenguaje de programación TypeScript trata null
y undefined
como tipos separados en modo estricto. Esto se realiza para evitar errores comunes durante la programación. null
y undefined
son dos de los tipos primitivos en TypeScript y representan la ausencia de un valor, aunque se utilizan en diferentes contextos.
let a: null = null; // correcto
let b: undefined = undefined; // correcto
let c: number = null; // error en modo estricto
let d: number = undefined; // error en modo estricto
Como se puede observar en el ejemplo anterior, en el modo estricto de TypeScript, no se puede asignar null
o undefined
a una variable de otro tipo primitivo como number
o string
.
En el modo de no estricto, TypeScript tratará null
y undefined
como tipos que pueden ser asignados a cualquier otro tipo. Sin embargo, este comportamiento puede conducir a errores sutiles, por lo que se recomienda trabajar con el modo estricto activado para aprovechar la seguridad de tipos que ofrece TypeScript.
Una práctica importante es utilizar el operador de afirmación de no nulidad (!) después de una expresión para asegurar al compilador que la expresión no será null
ni undefined
. Sin embargo, se debe usar con precaución y solo si está seguro de que la variable no será nula o indefinida.
let s: string;
let l = s.length; // error, s puede ser undefined
let m = s!.length; // correcto, aseguramos que s no es null ni undefined
El manejo de null
y undefined
en TypeScript es un aspecto importante del lenguaje que ayuda a hacer el código más seguro y predecible. Nunca se debe asumir que una variable no será nula o indefinida, siempre es mejor manejar estas condiciones de forma explicita para evitar errores en tiempo de ejecución.