javascript - Typescript - Tipos de funciones de orden superior
Me estoy emocionando mucho con TypeScript. ¿Cómo se establece el tipo de un parámetro de función?
function twoMoreThanYou(calculateANumber: Function):number {
return calculateANumber(4) + 2;
}
function double(n:number):number {
return n*2;
}
console.log("TWO MORE", twoMoreThanYou(double))
¿Cómo puedo escribir calculateANumber mejor? Me gustaría especificar que debe ser una función que tome un número y devuelva un número.
¿Puedo entonces crear una "interfaz" o algún tipo de abreviatura para ese tipo para que pueda hacer que las firmas de mis funciones de orden superior sean más legibles?
Respuesta #1
Ambos funcionan
interface NumberFunction extends Function {
(n:number):number;
}
function twoMoreThanYou(calculateANumber: (n:number)=>number):number {
...
}
function twoMoreThanYou(calculateANumber: NumberFunction):number {
...
}
