TypeScript · Essencial · Português · Técnico
union de literais
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'); // erroExemplos
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