Overload Signatures

TypeScript 🟡 Mid

Definition

Plusieurs signatures de fonction declarees avant l'implementation pour decrire differentes combinaisons d'arguments/retours. L'implementation doit etre compatible avec toutes.

Analogie

Comme un restaurant avec differents menus selon le nombre de convives — meme cuisine, mais offres distinctes.

Exemple de code

function parse(input: string): number;
function parse(input: number): string;
function parse(input: string | number) {
  return typeof input === "string"
    ? parseInt(input) : input.toString();
}

Cas d'usage

APIs avec des relations precises entre types d'entree et de sortie (createElement, addEventListener).

Anti-pattern

Utiliser des overloads quand une simple union ou un generic suffirait — complexite inutile.

Termes lies

#core#interview#api-design