ExpertiDict

TypeScript · Essencial · Português · Técnico

union de literais

/ˈjunjõ dʒi liteˈɾajs/substantivo feminino

Tipo formado por valores literais combinados com |, como 'admin' | 'editor'. Em TypeScript é a alternativa leve ao enum para listas fixas de opções, sem gerar código.

Onde usar

Aparece em props, papéis e estados: type Papel = 'admin' | 'editor'. O autocompletar sugere os valores e um valor fora da lista não compila.

Em código

type Papel = 'admin' | 'editor' | 'leitor';
function pode(p: Papel) {
  return p === 'admin' || p === 'editor';
}
pode('admin');
// pode('root'); // erro

Exemplos

Prefiro uma union de literais ao enum para os papéis do usuário.

Com a union de literais, o editor já sugere admin e editor.

Cuidado

Não existe em runtime: para iterar sobre as opções ou validar entrada de fora, é preciso também um array as const com os mesmos valores.

Sinônimos

string literal union

Antônimos

enum

Veja também

Todos os termos de TypeScript