function Foo(): string {}
意味着Foo是一个返回字符串的函数.
interface SFC {
(props: Props): any;
}
const Foo: SFC = p => {};
意味着Foo是与签名SFC匹配的匿名函数,p是Props类型.
如何声明与SFC匹配的函数Foo()?语法是什么?
即,我想使用函数关键字(而不是const)声明一个函数,函数本身是SFC类型.
这些不起作用:
function Foo: SFC () {}
function Foo() {}: SFC
最佳答案 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");