Tipado estricto de funciones como parámetros en TypeScript: ¿cómo declarar un tipo para callback?
¡Hola a todos! Recientemente comencé a estudiar TypeScript y me encontré con un problema al pasar funciones como argumentos. En JavaScript solía hacer esto:
```typescript
function processData(data, callback) {
const result = data.map(item => item * 2);
callback(result);
}
processData([1, 2, 3], function(result) {
console.log(result);
});
```
Pero en TypeScript necesito especificar los tipos, y no entiendo cómo declarar correctamente el tipo para el parámetro de función. Probé varias opciones, pero no funcionan:
```typescript
// Opción 1: simplemente usar any
function processData(data: number[], callback: any) { ... }
// Opción 2: Function
function processData(data: number[], callback: Function) { ... }
```
La primera opción anula toda la esencia de TypeScript: se pierde la verificación de tipos. La segunda tampoco da especificidad: puedo pasar cualquier función, incluso con parámetros incorrectos.
¿Cómo declarar correctamente el tipo para callback para que TypeScript verifique:
1. Cuántos parámetros tiene