ExpertiDict

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

variadic tuple types

/vɛɹiˈædɪk ˈtʌpəl taɪps/substantivo

Tuplas que usam spread de um parâmetro de tipo, como [...T, boolean]. Permitem concatenar e decompor tuplas no nível dos tipos e tipar funções de aridade variável.

Onde usar

É a base de tipagens de funções genéricas como concat, curry e bind. Aparece quando se precisa preservar a lista exata de argumentos de uma função recebida.

Em código

type Cat<
  A extends unknown[],
  B extends unknown[],
> = [...A, ...B];
type R = Cat<[1, 2], ['a']>; // [1, 2, 'a']

Exemplos

Variadic tuple types let us type concat without overloads.

Variadic tuple types nos deixam tipar concat sem sobrecargas.

The generic must extend an array before you can spread it into a tuple.

O genérico precisa estender um array antes de ser espalhado em uma tupla.

Cuidado

Para espalhar T numa tupla, ele precisa ser restrito a um array ou tupla (T extends unknown[]); sem isso o compilador rejeita o spread.

Veja também

Todos os termos de TypeScript