TS2339:属性“ navigator”在类型“ Global”上不存在

时间:2019-04-01 03:45:36

标签: typescript

interface Global {
    navigator: any;
}    

it('navigator is undefined', () => {
    delete global.navigator;
    expect(navigator).toBe(undefined);
});

在行delete global.navigator上,打字稿基于我声明为TS2339: Property 'navigator' does not exist on type 'Global'.类型的一些StackOverflow帖子引发以下错误Global。但这并没有解决问题。有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

您在模块中吗?如果需要的话,您需要像这样包装接口扩展名:

declare global {
    interface Global {
        navigator: any;
    }
}

否则,您将创建一个名为Global的新接口,范围仅限于模块,而不是扩展现有的全局接口。