Avatar ·

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