angular - "declare global{ interface Window{ analy

我有这段代码 ( from here ),我想了解它的作用:

declare global {
  interface Window { analytics: any; }
}

我有seen here declare global 是什么意思。

而且我从this question看到了interface 是什么意思。

我知道 window object 是什么意味着。

我不明白上面的代码是什么意思。如果我错了,请更正。该代码意味着分析变量现在被识别为任何类型的全局对象。此外,它还具有您可以访问的窗口属性,如 interface Window 所示。

另外,为什么我们要declare global{/**variable being declared gloabal here.*/}。为什么我们要使用这种语义来声明一个全局变量。为什么变量放在花括号内而不是像 var goat 这样的东西?

最佳答案

这叫做 Global augmentation ,它是一种特殊的语法/关键字,允许声明全局变量。由于 declaration merging,这些声明与 ECMAScript 定义文件合并TypeScript 的能力。

关于angular - "declare global{ interface Window{ analytics: any; } }"在 angular/Typescript 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70095000/

相关文章:

linux - NeoVim 缺少 Python 支持

python - Ursina Python 引擎 : Lighting, 阴影和光晕效果

c++ - 多线程段故障析构函数

encryption - 如何在 Web 浏览器中使用 Webauthn/CTAP HMAC-Sec

laravel - created_at 和 updated_at 不会在 laravel 中插入时

typescript - 如何防止将 Prop 传递给内部样式组件

c - 在两个源文件之间拆分类似函数的宏调用

python - Matplotlib Colormaps——为每个图形/线条/主题选择不同的颜色

php - arc diff(Arcanist)因 env : php: No such file

clojure - 撤消覆盖 Clojure 中的内置函数