在TypeScript中声明根全局对象

时间:2018-09-11 20:25:51

标签: typescript

在一个项目中,我有几个全局变量的类型声明,例如:

declare const process: { [key: string]: any };
declare function setTimeout(...);
...

我希望声明一个名为“ global”的变量,该变量引用项目中所有其他全局声明所隐含的全局对象(CommonJS中的global)。

declare const global: ???

具体来说,我想让TypeScript推断global.process是一个对象,global.setTimeout是一个函数,因为这些全局变量被声明为这些类型。

有没有办法在TypeScript中获取全局对象的类型?

1 个答案:

答案 0 :(得分:0)

我不认为Typescript有办法推断它。如果您正在全球范围内寻找特定成员并知道他们的类型,则可以“手动”进行。例如:

declare const global: {
    process: object, 
    setTimeout: (callback:(args:any[])=>void, duration:number)
};