Avatar ·

Strenge Typisierung von Funktionen als Parameter in TypeScript: Wie deklariert man einen Typ für Callback?

Hallo zusammen! Ich habe kürzlich angefangen, TypeScript zu lernen, und bin auf ein Problem gestoßen, wenn ich Funktionen als Argumente übergebe. In JavaScript habe ich das oft so gemacht: ```typescript function processData(data, callback) { const result = data.map(item => item * 2); callback(result); } processData([1, 2, 3], function(result) { console.log(result); }); ``` Aber in TypeScript muss ich Typen angeben, und ich verstehe nicht, wie ich den Typ für den Parameter-Funktion korrekt deklariere. Ich habe mehrere Varianten ausprobiert, aber sie funktionieren nicht: ```typescript // Variante 1: einfach any angeben function processData(data: number[], callback: any) { ... } // Variante 2: Function function processData(data: number[], callback: Function) { ... } ``` Die erste Variante zerstört den ganzen Sinn von TypeScript — die Typprüfung geht verloren. Die zweite gibt auch keine Konkretheit — ich kann jede Funktion übergeben, sogar mit falschen Parametern. Wie deklariere ich den Typ für callback richtig, damit TypeScript prüft: 1. Wie viele Parameter die Funktion