TypeScript · Avançado · Inglês · Técnico
conditional types
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>; // 0Exemplos
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