TypeScript · Intermediário · Inglês · Técnico
as const
Asserção que congela um literal: propriedades viram readonly, arrays viram tuplas somente leitura e strings e números mantêm o tipo literal em vez de alargar para string e number.
Onde usar
Usada para criar listas e objetos de configuração dos quais se derivam uniões: type Cor = (typeof cores)[number]. Em muitos projetos substitui um enum.
Em código
const cores = ['rosa', 'azul'] as const;
type Cor = (typeof cores)[number];
// Cor = 'rosa' | 'azul'
const r = { path: '/', ok: true } as const;
// r.ok: true (literal, readonly)Exemplos
Add as const so the values stay literal.
Adicione as const para os valores continuarem literais.
I derive the union from the array with as const.
Eu derivo a união do array com as const.
Cuidado
Só afeta o tipo e vale para o literal escrito na hora; em runtime o objeto continua mutável para o JavaScript.
Sinônimos
const assertion