为什么打字稿接口函数没有函数名?

时间:2020-08-15 11:47:56

标签: javascript typescript interface

似乎为函数定义了接口,您只需声明函数签名,例如参数,而不是函数名称。

https://www.typescriptlang.org/docs/handbook/interfaces.html#function-types

要描述带有接口的函数类型,我们给接口一个调用签名。这就像只声明参数列表和返回类型的函数声明。参数列表中的每个参数都需要名称和类型。

那么,有点像匿名函数吗?

这似乎很奇怪,以后如果我用相同的参数编译ANY函数,它将通过吗?

我正在尝试为别人的图书馆写打字,并以any开始

interface ISlackEvent {
  ack?: any   // function
}

简称为event.ack()

我如何将其更清晰地输入为函数?

interface ISlackEvent {
  (): void

似乎并没有给我太多护栏,但这也可行:

interface ISlackEvent {
  ack?(): void

所以不清楚我是否误读了文档,是否不应该在界面中给函数命名?

0 个答案:

没有答案