Overload Signatures
TypeScript 🟡 MidDefinition
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.