【发布时间】:2020-02-11 20:52:03
【问题描述】:
我知道如何在 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
}
所以问题是:上面的类型定义实际上是什么意思?是否可以创建与此签名匹配的对象?
【问题讨论】:
标签: typescript