TypeScript · Essencial · Inglês · Técnico
literal type
Tipo que representa um único valor exato, como 'sim', 42 ou true. Combinado em uma union, forma conjuntos fechados de valores permitidos.
Onde usar
Aparece em props e opções como modo: 'claro' | 'escuro'. O compilador recusa qualquer string fora da lista, o que substitui boa parte dos usos de enum.
Em código
type Modo = 'claro' | 'escuro';
function tema(m: Modo) {
return m === 'claro' ? '#fff' : '#000';
}
tema('claro');
let m = 'claro'; // string, não 'claro'Exemplos
Use a literal type here so only 'asc' or 'desc' is accepted.
Use um literal type aqui para aceitar só 'asc' ou 'desc'.
The variable widened, so it lost its literal type.
A variável foi alargada, então perdeu o literal type.
Cuidado
Em let, o literal é alargado: let m = 'claro' vira string. Para manter o literal, use const, uma anotação ou as const.
Sinônimos
tipo literal