Typescript - Типы функций более высокого порядка
Меня очень волнует TypeScript. Как установить тип параметра функции?
function twoMoreThanYou(calculateANumber: Function):number {
return calculateANumber(4) + 2;
}
function double(n:number):number {
return n*2;
}
console.log("TWO MORE", twoMoreThanYou(double))
Как я могу набрать calculateANumber
лучше? Я хотел бы указать, что это должна быть функция, которая принимает число и возвращает число.
Могу ли я затем создать "интерфейс" или некоторую сокращенность для этого типа, чтобы я мог сделать мои подписи более высокого порядка более удобочитаемыми?
Ответы
Ответ 1
Эти обе работают
interface NumberFunction extends Function {
(n:number):number;
}
function twoMoreThanYou(calculateANumber: (n:number)=>number):number {
...
}
function twoMoreThanYou(calculateANumber: NumberFunction):number {
...
}