ExpertiDict

TypeScript · Intermediário · Inglês · Informal

double assertion

/ˈdʌbəl əˈsɝʃən/substantivo

Padrão valor as unknown as Tipo, que passa por unknown para contornar a recusa do compilador em converter entre tipos sem sobreposição.

Onde usar

Aparece em testes e em integrações com tipos mal definidos, quando o compilador reclama que a conversão pode ser um erro. É sinal vermelho: ou você sabe mais que o compilador, ou está escondendo um bug.

Em código

const x = 'texto';
// const n = x as number; // erro de conversão
const n = x as unknown as number;
n.toFixed(); // compila, quebra em runtime

Exemplos

He used a double assertion to force the mock into the type.

Ele usou um double assertion para forçar o mock no tipo.

If you need a double assertion, the types probably don't match.

Se você precisa de um double assertion, os tipos provavelmente não combinam.

Cuidado

Não use para silenciar erros de design: quem faz as unknown as T perde a única garantia que o compilador dava sobre o valor.

Sinônimos

as unknown as

Antônimos

type guard

Veja também

Todos os termos de TypeScript