如何加上「;“谷歌广告”;AdSense属性到;“窗口”;Typescript中的全局对象?

如何加上「;“谷歌广告”;AdSense属性到;“窗口”;Typescript中的全局对象?,typescript,global,adsense,window-object,Typescript,Global,Adsense,Window Object,我有一个呈现 如何声明此属性以使Typescript理解它是什么 我所尝试的: 我为全局声明创建了一个d.ts 环境d.ts interface Window { adsbygoogle: {[key: string]: unknown}[] } 以下方法不起作用 declare const adsbygoogle: {[key: string]: unknown}[]; 以下方法似乎有效(就消除错误而言)。但它引发了一个新的错误: declare var adsbygoogle: {

我有一个呈现

如何声明此属性以使Typescript理解它是什么


我所尝试的:

我为全局声明创建了一个
d.ts

环境d.ts

interface Window {
  adsbygoogle: {[key: string]: unknown}[]
}
以下方法不起作用

declare const adsbygoogle: {[key: string]: unknown}[];
以下方法似乎有效(就消除错误而言)。但它引发了一个新的错误:

declare var adsbygoogle: {[key: string]: unknown}[];

以下文章帮助我找到了解决此问题的方法:

环境d.ts

interface Window {
  adsbygoogle: {[key: string]: unknown}[]
}
从该条中:

增强窗口界面

最后,您可以使用TypeScript的接口声明合并,让编译器知道它可以在窗口类型上找到名为INITIAL\u DATA的属性,从而找到窗口对象。为此,您需要定义一个名为Window的接口,该接口的属性名为INITIAL\u DATA

TypeScript将此接口定义与lib.dom.d.ts中定义的窗口接口合并在一起,生成一个窗口类型。现在,以下赋值将不再产生类型错误:

declare var adsbygoogle: {[key: string]: unknown}[];
interface Window {
  adsbygoogle: {[key: string]: unknown}[]
}