Overload Signatures
TypeScript 🟡 MidDéfinition
Plusieurs signatures de fonction déclarées avant l'implémentation pour décrire différentes combinaisons d'arguments/retours. L'implémentation doit être compatible avec toutes.
Analogie
Comme un restaurant avec différents menus selon le nombre de convives — même 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 précises entre types d'entrée et de sortie (createElement, addEventListener).
Anti-pattern
Termes liés
En entretien
Explique-moi ce que sont les overload signatures.
Ce sont plusieurs signatures de fonction déclarées avant l'implémentation pour décrire différentes combinaisons d'arguments et de retours, et l'implémentation doit être compatible avec toutes.
Quand éviter les overloads ?
Quand une simple union ou un generic suffirait, car les overloads ajoutent une complexité inutile.
Dans quel type d'API rencontre-t-on souvent ce pattern ?
Dans des APIs avec des relations précises entre types d'entrée et de sortie, comme createElement ou addEventListener.
Fiche mise à jour le 2026-09-27