ExpertiDict

TypeScript · Avançado · Inglês · Técnico

conditional types

/kənˈdɪʃənəl taɪps/substantivo

Tipos no formato T extends U ? X : Y, que escolhem X ou Y conforme T seja atribuível a U. Funcionam como um if de tipos, base de Exclude.

Onde usar

Aparecem em bibliotecas para ajustar o tipo de retorno conforme o argumento. Em código de aplicação, é sinal para pensar se uma sobrecarga ou uma união simples já resolve.

Em código

type EhStr<T> = T extends string ? 1 : 0;
type A = EhStr<'x'>; // 1
type B = EhStr<42>;  // 0

Exemplos

A conditional type picks the return type based on the input.

Um conditional type escolhe o tipo de retorno conforme a entrada.

That conditional type is too clever, use an overload.

Esse conditional type está esperto demais, use uma sobrecarga.

Cuidado

Dentro de uma função genérica o compilador raramente resolve o ramo escolhido, então devolver um valor para um tipo condicional pendente costuma exigir asserção.

Sinônimos

tipos condicionais

Veja também

Todos os termos de TypeScript