ExpertiDict

TypeScript · Intermediário · Inglês · Técnico

NonNullable

/nɑnˈnʌləbəl/substantivo

Utility type que remove null e undefined de um tipo. Nas versões atuais equivale a T & {}, o que também afeta parâmetros de tipo genéricos ainda não resolvidos.

Onde usar

Usado para tipar valores depois de uma checagem de presença, como em NonNullable<string | null>, que vira string. Aparece em funções que garantem que o resultado existe.

Em código

type A = NonNullable<string | null>; // string
type B = NonNullable<1 | undefined>; // 1
function exige<T>(v: T): NonNullable<T> {
  if (v == null) throw Error('ausente');
  return v;
}

Exemplos

Return a NonNullable so callers don't check for null.

Retorne um NonNullable para os chamadores não precisarem checar null.

NonNullable of string or null is just string.

NonNullable de string ou null é só string.

Cuidado

Só descreve o tipo e não remove nada em runtime; para tirar os nulos de um array é preciso um filter.

Veja também

Todos os termos de TypeScript