Подтвердить что ты не робот

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 лучше? Я хотел бы указать, что это должна быть функция, которая принимает число и возвращает число.

Могу ли я затем создать "интерфейс" или некоторую сокращенность для этого типа, чтобы я мог сделать мои подписи более высокого порядка более удобочитаемыми?

4b9b3361

Ответ 1

Эти обе работают

interface NumberFunction extends Function {
    (n:number):number;
}

function twoMoreThanYou(calculateANumber: (n:number)=>number):number {
    ...
}

function twoMoreThanYou(calculateANumber: NumberFunction):number {
    ...
}