javascript - “让”吊起来了吗?
问题描述
我在网上做了一些研究,一半的文章建议 let/const/class 没有被提升,而另一半声称它们被提升但没有被初始化,并且当我们在初始化之前尝试访问它们时会抛出 ReferenceError。
所以这是我的问题。“让”是否被吊起?
一个。如果是,那么解释一下:
x = 1;
let x;
console.log(x);
输出:ReferenceError:x 未定义。
论据:如果 'let' 被提升,那么不应该让 x;移动到顶部,因此当初始化发生时,它应该得到值 1,因此应该打印 1?但不,它的错误。
湾。如果不是,那么解释一下:
var x = 1;
function print() {
console.log(x);
let x = 2
console.log(x);
}
print();
输出:ReferenceError:x 未定义。
参数:如果'let'没有被提升,那么输出应该是
1
2
请帮忙!
解决方案
推荐阅读
- c - 试图找出数据结构的名称
- javascript - 从父组件重置一个 Vue 计数器组件
- python - 我有子类unittest.TestCase。每次我想使用@unittest.skipIf 时,我是否还应该导入unittest?
- r - 使用 shinyFiles 选择文件夹停止使用更新
- python - Python 日期时间问题:有没有更好的解决方案
- java - 如何在 Spring 控制器中读取 JSON 数组值
- javascript - CSJS 不更新计算字段
- reactjs - 在来自不同子组件的操作后反应子组件中的焦点项目列表
- sparql - 即使有数据,结果也会被过滤掉
- node.js - heroku 构建失败的原因