Variadic Tuple Types

TypeScript 🔴 Senior

Definition

Extension des tuples permettant d'utiliser des spreads generiques (...T) dans les types tuple. Permet de composer et manipuler des tuples de longueur variable.

Analogie

Comme des wagons de train modulaires — on peut inserer, retirer ou combiner des sections librement.

Exemple de code

type Concat<A extends any[], B extends any[]> = [...A, ...B];
type R = Concat<[1, 2], [3, 4]>; // [1, 2, 3, 4]
function head<T, U extends any[]>(arr: [T, ...U]): T {
  return arr[0];
}

Cas d'usage

Typer des fonctions avec des arguments variadiques (pipe, compose, curry) de maniere precise.

#advanced#type-system