我知道如何在TypeScript中定义一个期望像这样的命名函数的类型:
type Foo = {
bar(a: string): number
}
// or
type Foo = {
bar: (a:string) => number
}
然而,使用第一种方法也可以定义一个没有名称的函数,如下所示:
type Foo = {
(a: string): number
}
TypeScript编译器并不会发出警告,但我不知道如何创建与此类型签名匹配的对象?尝试这样做是无法编译的:
let f: Foo = {
(a: string) => 2
}
所以问题是:上面的类型定义实际上意味着什么?是否可能创建与该签名匹配的对象?