TypeScript函數(shù)調(diào)用簽名
函數(shù)在本質(zhì)是一個(gè)對(duì)象,但特殊地方在于函數(shù)是可調(diào)用的對(duì)象。因此,可以使用對(duì)象類型來表示函數(shù)類型。
type DescribableFunction = {
description: string; // 給函數(shù)綁定一個(gè)屬性
(someArg: number): boolean;
}
type DescriptionFunction = {
description: string;
(someArg: number): boolean;
}
function doSomething(fn: DescriptionFunction) {
console.log(fn.description + 'returned' + fn(12345))
}
function fn1(n: number): boolean {
console.log(n)
return true
}
fn1.description = 'hello '
doSomething(fn1)