我对打字稿非常兴奋。如何设置函数参数的类型?
function twoMoreThanYou(calculateANumber: Function):number {
return calculateANumber(4) + 2;
}
function double(n:number):number {
return n*2;
}
console.log("TWO MORE", twoMoreThanYou(double))
我怎样才能更好地输入calculateANumber
?我想指定它必须是一个接受数字并返回数字的函数。
然后我能为这种类型做一个“接口”或一些简写,这样我就能让我的高阶函数签名更具可读性吗?
这两种方法都有效
interface NumberFunction extends Function {
(n:number):number;
}
function twoMoreThanYou(calculateANumber: (n:number)=>number):number {
...
}
function twoMoreThanYou(calculateANumber: NumberFunction):number {
...
}