// let和const声明可以让变量在其作用域上受限于它所使用的块、语句或表达式。
// 与var不同的是,这些变量没有被提升,并且有一个所谓的暂时死区(TDZ)。
// 试图访问TDZ中的这些变量将引发ReferenceError,因为只有在执行到达声明时才能访问它们。
let a = 10; // 全局使用域
function foo() { // TDZ 开始
// 创建了未初始化的'a'
console.log(a); // ReferenceError 报错
// TDZ结束,'a'仅在此处初始化,值为20
let a = 20;
}
foo()
暂时死区小例题
最新推荐文章于 2023-07-08 13:50:12 发布