Avatar ·

Surcharge de fonctions en TypeScript : comment déclarer et utiliser correctement ?

Bonjour à tous ! Je viens de commencer à étudier TypeScript après JavaScript et je suis tombé sur un sujet que je ne comprends pas — la surcharge de fonctions (function overloading). En JavaScript, j'avais l'habitude d'écrire des fonctions qui peuvent accepter différents types d'arguments, et de vérifier à l'intérieur avec `typeof` ou `instanceof`. Par exemple, j'ai une fonction qui doit accepter soit une chaîne, soit un nombre, et en fonction de cela, effectuer différentes opérations. En JS, je faisais comme ça : ```typescript function format(input) { if (typeof input === 'string') { return input.trim(); } else if (typeof input === 'number') { return input.toFixed(2); } } ``` Mais en TypeScript, je veux décrire les types pour cette fonction. J'ai essayé d'écrire : ```typescript function format(input: string | number): string { // ... } ``` Cela fonctionne, mais j'ai entendu dire qu'en TypeScript, il existe une "vraie" surcharge de fonctions, comme en C++ ou Java. J'ai essayé de faire comme ça : ```typescript function format(input: string): string; function