Typescript中的“全局声明”是什么?

时间:2019-07-15 12:58:27

标签: typescript typescript-typings

什么是“全局声明”,这怎么可能?我在Lodash输入中找到了这段代码。问题是当我尝试将其完全复制到my.d.ts文件中时,因为global不是名称空间,模块,函数或var,所以不允许这样做。因此,问题是如何在Typescript中进行此声明。

PS 因此,也许还有其他一些编译器选项可以允许使用此选项或?

declare global {
    interface Set<T> { }
}

1 个答案:

答案 0 :(得分:2)

这不依赖于编译器设置。 declare global用于具有importexport的文件中,以在全局范围内声明事物。在包含importexport的文件中,这是必需的,因为此类文件被视为模块,并且在模块中声明的任何内容都在模块范围内。

在不是模块的文件(不包含declare global / import)中使用export是错误的,因为这样的文件中的所有内容都位于全局范围内。