TypeScript · Middle · Frage 10 von 75
Wie funktionieren Funktionsüberladungen in TypeScript?
function parse(x: string): number;
function parse(x: number): string;
function parse(x: string | number) { /* ... */ }- 1Die letzte Signatur überschreibt alle vorherigen, die ignoriert werden
- 2Mehrere Aufrufsignaturen und eine verborgene Implementierung
- 3Jede Signatur bekommt ihre eigene Implementierung, wie in Java
Antwort zeigen
Richtige Antwort: Mehrere Aufrufsignaturen und eine verborgene Implementierung
Erklärung
Aufrufender Code sieht nur die Überladungssignaturen, und TS wählt von oben nach unten die erste passende. Die Implementierung muss mit allen kompatibel sein. Überladungen lassen sich oft durch einen Union-Parameter oder ein Generic mit bedingtem Typ ersetzen.