bre*_*ter 6 javascript typescript
我正在尝试访问该globalThis属性,但收到错误:
Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature`.
Run Code Online (Sandbox Code Playgroud)
// both getting...
if (!globalThis.foo) {}
// and setting...
globalThis.foo = 'bar
Run Code Online (Sandbox Code Playgroud)
我在网上可以找到的关于此的唯一内容是指 using window,并提供支持它的声明,但不适用于 globalThis 。有人知道如何支持这个吗?
jca*_*alz 15
根据文档globalThis,看起来“正确”的方法是声明一个名为var的全局变量foo。这将添加到globalThis.
如果您的代码在全局范围内,那么这将起作用:
var foo: string;
Run Code Online (Sandbox Code Playgroud)
如果您的代码位于模块中,则需要将其包装在global声明中:
export const thisIsAModule = true; // <-- definitely in a module
declare global {
var foo: string;
}
Run Code Online (Sandbox Code Playgroud)
之后,您应该能够globalThis.foo根据需要访问:
globalThis.foo = "bar"; // no error
Run Code Online (Sandbox Code Playgroud)