ExpertiDict

TypeScript · Avançado · Inglês · Técnico

assertion function

/əˈsɝʃən ˈfʌŋkʃən/substantivo

Função cuja assinatura usa asserts, como asserts x is string, indicando que, se ela retornar sem lançar exceção, o argumento tem o tipo afirmado dali em diante.

Onde usar

Útil para validações que lançam erro, como assertDefined, e para bibliotecas de teste. Depois da chamada, o resto da função ganha o tipo estreitado sem precisar de if.

Em código

function exige(
  x: unknown
): asserts x is string {
  if (typeof x !== 'string') throw Error('x');
}
declare const v: unknown;
exige(v);
v.toUpperCase(); // v: string

Exemplos

I added an assertion function to validate the config.

Adicionei uma assertion function para validar a configuração.

After the assertion, the value is a string for the rest of the scope.

Depois da asserção, o valor é string no resto do escopo.

Cuidado

O compilador confia na assinatura sem conferir o corpo: se a função não lançar no caso inválido, o tipo afirmado passa a ser falso.

Sinônimos

função de asserção

Veja também

Todos os termos de TypeScript