Ist es in TypeScript möglich, streng typisierte Funktionen als Parameter zu übergeben?
Hallo zusammen! Ich habe kürzlich angefangen, TypeScript zu lernen, und bin auf ein Problem bei der Arbeit mit Higher-Order-Funktionen gestoßen. Ich habe eine Funktion, die eine andere Funktion als Argument nimmt, und ich möchte, dass TypeScript überprüft, ob die übergebene Funktion die richtigen Typen für Parameter und Rückgabewert hat.
Hier ist ein Beispiel von dem, was ich versuche:
```typescript
function applyOperation(x: number, y: number, operation: (a: number, b: number) => number): number {
return operation(x, y);
}
// Das funktioniert
const sum = applyOperation(5, 3, (a, b) => a + b); // 8
// Aber was, wenn ich eine Funktion übergeben möchte, die Strings akzeptiert?
const badResult = applyOperation(5, 3, (a, b) => a.toString() + b.toString()); // Kein Fehler, aber das Ergebnis ist falsch
```
Im letzten Fall beschwert sich TypeScript nicht, weil `a.toString() + b.toString()` einen String zurückgibt, aber eine Zahl erwartet wird. Ich möchte, dass der Compiler die Typen streng überprüft.
Außerdem habe ich gesehen, dass manchmal diese Syntax verwendet wird
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen