TypeScript · Intermediário · Inglês · Técnico
strict null checks
Flag strictNullChecks que faz null e undefined deixarem de ser valores válidos de qualquer tipo. Ligada, string não aceita null, e o código precisa tratar a ausência explicitamente.
Onde usar
É a flag que mais previne bugs reais, como o clássico 'Cannot read properties of undefined'. Em code review aparece como 'trate o caso null antes de usar'.
Em código
// com "strictNullChecks": true
function tam(s: string | null) {
// return s.length; // erro: s pode ser null
return s?.length ?? 0;
}
// let x: string = null; // erroExemplos
With strict null checks, the compiler forces me to handle undefined.
Com strict null checks, o compilador me obriga a tratar o undefined.
Enabling strict null checks surfaced a hundred errors.
Ligar o strict null checks revelou uns cem erros.
Cuidado
Desligada, null e undefined são aceitos em todo tipo, e boa parte da segurança do sistema de tipos desaparece sem aviso.
Sinônimos
strictNullChecks