【问题标题】:Accessing global constants using globalThis/window使用 globalThis/window 访问全局常量
【发布时间】:2021-07-24 19:25:21
【问题描述】:

我刚刚使用 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 来访问它们?如果不是,他们在哪里?

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

【问题讨论】:

  • "有没有办法使用 window 或 globalThis 来访问它们?"不。这就是letconst 的全部目的。

标签: javascript constants javascript-objects global


【解决方案1】:

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

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

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

如果不是,他们在哪里?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    相关资源
    最近更新 更多