ExpertiDict

TypeScript · Essencial · Inglês · Técnico

literal type

/ˈlɪtɚəl taɪp/substantivo

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

Veja também

Todos os termos de TypeScript