gpt4 book ai didi

javascript - 为什么不 const App = App || {};工作但是使用 var 可以吗?

转载 作者:行者123 更新时间:2023-12-02 14:47:08 25 4
gpt4 key购买 nike

以前我用过

var App = App || {};

在单独加载到浏览器中的各种js脚本中分配或实例化公共(public)App对象。

但是,使用 letconst 而不是 var 会引发引用错误:

const App = App || {}; // or let App = App || {};

Uncaught ReferenceError: App is not defined
at <anonymous>:1:11

这是怎么回事?如果我想继续使用此模式,我是否必须坚持 var

最佳答案

这是因为当您使用 let 或常量声明变量时,该变量位于 temporal dead zone 中。在初始化之前。

换句话说,尝试 let foo = foo 会抛出错误,因为 foo 仍处于临时死区,无法使用。 const 也是如此。

另请注意,用 let 定义的变量或用 const 定义的常量不能与另一个变量(无论是用 letconstvar

关于javascript - 为什么不 const App = App || {};工作但是使用 var 可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48837536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com