Avatar ·

TypeScript中函数作为参数的强类型化:如何声明回调的类型?

大家好!我最近开始学习TypeScript,在将函数作为参数传递时遇到了问题。在JavaScript中,我经常这样做: ```typescript function processData(data, callback) { const result = data.map(item => item * 2); callback(result); } processData([1, 2, 3], function(result) { console.log(result); }); ``` 但在TypeScript中,我需要指定类型,我不明白如何正确声明函数参数的类型。我尝试了几种方式,但它们不起作用: ```typescript // 方式1:直接指定为any function processData(data: number[], callback: any) { ... } // 方式2:Function function processData(data: number[], callback: Function) { ... } ``` 第一种方式破坏了TypeScript的本质——失去了类型检查。第二种方式也没有提供具体信息——我可以传递任何函数,即使参数不正确。 如何正确声明callback的类型,以便TypeScript检查: 1. 参数的数量