¿Es posible en TypeScript pasar funciones estrictamente tipadas como parámetros?
¡Hola a todos! Recientemente comencé a estudiar TypeScript y me encontré con un problema al trabajar con funciones de orden superior. Tengo una función que recibe otra función como argumento, y quiero que TypeScript verifique que la función pasada tenga los tipos correctos de parámetros y valor de retorno.
Aquí hay un ejemplo de lo que intento hacer:
```typescript
function applyOperation(x: number, y: number, operation: (a: number, b: number) => number): number {
return operation(x, y);
}
// Esto funciona
const sum = applyOperation(5, 3, (a, b) => a + b); // 8
// Pero ¿qué pasa si quiero pasar una función que recibe strings?
const badResult = applyOperation(5, 3, (a, b) => a.toString() + b.toString()); // No hay error, pero el resultado es incorrecto
```
En el último caso, TypeScript no se queja porque `a.toString() + b.toString()` devuelve un string, pero se espera un número. Quiero que el compilador verifique estrictamente los tipos.
También he visto que a veces se usa esta sintaxis
No answers yet.
Inicia sesión para dejar una respuesta