Avatar ·

Funktionsüberladung in TypeScript: Wie deklariert und verwendet man sie richtig?

Hallo zusammen! Ich habe gerade angefangen, TypeScript zu lernen, und bin auf ein Problem gestoßen, als ich versuchte, Funktionsüberladung zu verwenden. Ich habe eine Funktion `format`, die je nach Typ der übergebenen Argumente unterschiedlich arbeiten soll: 1. Wenn ein String und eine Zahl übergeben werden — den String mit Wiederholung formatieren. 2. Wenn zwei Strings übergeben werden — sie mit einem Trennzeichen verbinden. 3. Wenn nur eine Zahl übergeben wird — sie als String mit einem Präfix zurückgeben. Ich habe diesen Code geschrieben, aber TypeScript meckert: ```typescript function format(a: string, b: number): string; function format(a: string, b: string): string; function format(a: number): string; function format(a: string | number, b?: string | number): string { if (typeof a === 'number') { return `ID: ${a}`; } if (typeof b === 'number') { return a.repeat(b); } if (typeof b === 'string') { return `${a} - ${b}`; } return a; } ``` Fehler: `This overload signature is not compatible with its implementation signature.` Ich