【发布时间】:2018-06-27 03:05:20
【问题描述】:
In the Typescript definition file (DefinitelyTyped)我正在检查,有一个接口、一个函数和一个命名空间都具有完全相同的名称:twilio。
这是文件前几行的示例:
declare interface twilio {
(sid?: string, tkn?: string, options?: twilio.ClientOptions): twilio.RestClient
}
declare function twilio(sid?: string, tkn?: string, options?: twilio.ClientOptions): twilio.RestClient;
declare namespace twilio {
....
然后一直到它说的文件底部
export = twilio;
那么它出口的是哪一个?界面?功能?命名空间? 这有什么意义?如何在同一个作用域/命名空间中将多个事物命名为完全相同的名称??
【问题讨论】:
-
看看declaration merging - 它正在导出所有内容 - 我不会使用接口调用签名。只有重载函数更清楚。 (没有时间给出完整的答案)
-
@Gerrit0 我知道签名是否不同,但接口和声明的函数具有完全相同的签名。此外,接口创建的类型从未实际使用过。两者之一是多余的,对吗?
标签: typescript module definitelytyped typescript-definitions .d.ts