首页 > 解决方案 > 使用 globalThis/window 访问全局常量

问题描述

我只是使用 var、const 和不使用任何全局声明来玩弄,并注意到虽然可以使用 globalThis 访问 var 和 without,但 const 不能。

aaa = "aaa";
var bbb = "bbb";
const ccc = "ccc";
console.log(globalThis.aaa, globalThis.bbb, globalThis.ccc); // logs: aaa bbb undefined

我的问题是,有没有办法使用 window 或 globalThis 来访问它们?如果不是,他们在哪里?

由于它们是全球性的,因此对此没有任何实际需求,我只是好奇。

标签: javascriptconstantsjavascript-objectsglobal

解决方案


用 var 声明但没有任何关键字的变量附加到全局对象。

我的问题是,有没有办法使用 window 或 globalThis 来访问它们?

是的,如果您在指向您的 const 的全局对象上创建一个新属性。但为什么要这样做。

如果不是,他们在哪里?

它们是变量,就像globalThis. 不附加任何东西,可以直接访问。如果您在谈论范围,那么它们是块范围的。住在 { }他们被定义的里面。


推荐阅读