TypeScript · Intermediário · Inglês · Técnico
non-null assertion
Operador ! pós-fixado que informa ao compilador que um valor não é null nem undefined. Remove esses casos do tipo sem nenhuma checagem em runtime.
Onde usar
Surge em buscas como map.get(k)! ou em referências a elementos. Em PR costuma ser questionado, pois vira TypeError se a suposição falhar; um if ou um erro explícito é mais seguro.
Em código
const m = new Map<string, number>();
m.set('a', 1);
const v = m.get('a')!; // number
const t = m.get('b');
if (t === undefined) throw Error('falta b');Exemplos
Remove that non-null assertion and handle the missing key.
Remova esse non-null assertion e trate a chave ausente.
The non-null assertion on the map lookup will blow up if the key is missing.
O non-null assertion na busca do mapa vai estourar se a chave não existir.
Cuidado
Não confunda com o ! de negação lógica (!x) nem com o !: de atribuição definitiva em propriedades de classe.
Sinônimos
operador !
Antônimos
optional chaining