Dans TypeScript, en mode strict, null
et undefined
sont traités comme des types distincts. Cela signifie que vous ne pouvez pas attribuer null
ou undefined
à une variable à moins que son type ne spécifie explicitement que null
ou undefined
est autorisé.
Par exemple, si vous avez une variable de type number
et que vous essayez de lui attribuer null
ou undefined
, TypeScript vous empêchera de le faire.
let myNumber: number;
myNumber = null; // Error: Type 'null' is not assignable to type 'number'
myNumber = undefined; // Error: Type 'undefined' is not assignable to type 'number'
Si vous voulez que null
ou undefined
soient reconnus comme des valeurs valides pour une variable, vous devez utiliser un type d'union. Par exemple:
let myNumber: number | null;
myNumber = null; // Ok
let myNumber: number | undefined;
myNumber = undefined; // Ok
MyNumber peut maintenant recevoir une valeur null
ou undefined
.
Cette caractéristique offre une sécurité typographique accrue, vous permettant de plus clairement spécifier quand une valeur peut être null
ou undefined
. Il est recommandé de l'utiliser lorsque vous travaillez en mode strict.
Cependant, gardez à l'esprit que cela peut rendre le codage plus exigeant, car vous devez être plus explicite à propos des valeurs autorisées pour vos variables. Mais l'avantage est que cela peut aider à prévenir les bugs en vous forçant à gérer les cas null
et undefined
là où ils sont le plus susceptibles de se produire.
L'utilisation de null
et undefined
en TypeScript peut varier en fonction de vos besoins personnels ou des conventions de votre projet. Mais la bonne nouvelle est que TypeScript vous offre la flexibilité de les manipuler comme vous le souhaitez.