Avatar ·

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