function Foo(): string {}
表示Foo
是一个返回string
的函数。
interface SFC {
(props: Props): any;
}
const Foo: SFC = p => {};
表示Foo
是与签名SFC
和p
匹配的匿名函数,类型为Props
。
如何声明与function Foo()
匹配的SFC
?语法是什么?
即,我想使用function
关键字(而不是const
)声明一个函数,而函数本身的类型为SFC
。
这些不能工作:
function Foo: SFC () {}
function Foo() {}: SFC
答案 0 :(得分:1)
TypeScript使用duck typing,因此Foo
函数的结构匹配时类型为SFC
。
interface SFC {
(props: any): any;
}
function Foo(props: any): any {
console.log(props);
}
let sfc: SFC = Foo; // Foo is of type SFC.
sfc("Foo");
答案 1 :(得分:0)