TypeScript · Essencial · Inglês · Técnico
type assertion
Construção valor as Tipo que diz ao compilador para tratar o valor como outro tipo. Só muda a checagem de tipos, sem converter nem validar nada em runtime.
Onde usar
Aparece com resultados de APIs e do DOM: as HTMLInputElement. Cada as é uma promessa que o compilador não verifica; se estiver errada, o erro estoura só na execução.
Em código
const bruto: unknown = '42';
const n = Number(bruto as string);
const el = {} as { id: number };
// el.id é number, mas é undefined em runtimeExemplos
That type assertion is a promise the compiler can't check.
Esse type assertion é uma promessa que o compilador não consegue checar.
Instead of an assertion, validate the data first.
Em vez de uma assertion, valide os dados primeiro.
Cuidado
Não é um cast como em Java ou C#: não há conversão nem checagem em runtime, e o compilador só aceita se os tipos forem suficientemente sobrepostos.
Sinônimos
as, cast de tipo
Antônimos
type guard