Appearance
调用签名
在JavaScript中,除了可调用之外,函数还可以有属性。然而,函数类型表达式的语法不允许声明属性。 如果我们想用属性来描述可调用的东西,我们可以在一个对象类型中写一个调用签名。
typescript
type DescribableFunction = {
description: string;
(someArg: number): boolean;
}
function doSomething(fn: DescribableFunction) {
console.log(fn.description + " returned " + fn(6));
}
function fn1() {
return true
}
fn1.description = 'balabala...'
doSomething(fn1)
注意,与函数类型表达式相比,语法略有不同:在参数列表和返回类型之间使用 : 而不是 => 。