23

私は 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もっとうまくタイピングできますか? 数値を受け取って数値を返す関数でなければならないことを指定したいと思います。

高階関数のシグネチャを読みやすくするために、「インターフェイス」またはそのタイプの省略形を作成できますか?

4

1 に答える 1

39

これらは両方とも機能します

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

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

function twoMoreThanYou(calculateANumber: NumberFunction):number {
    ...
}
于 2012-11-06T00:34:43.280 に答える