与var不同,let和const声明的变量不会被提升到作用域顶部,如果在声明之前访问这些变量,会引发错误。而从作用域顶部到声明变量语句之前的这个区域,被称为临时死区(temporal dead zone),简称为TDZ
if(true){
//undefined
console.log(typeof value);
var value = "blue";
}
if(true){
//Uncaught ReferenceError: value is not defined
console.log(typeof value);
let value = "blue";
}
但是,在let或const声明的作用域之外使用该变量就不会报错
//undefined
console.log(typeof value);
if(true){
let value = "blue";
}
原文链接:https://www.qiquanji.com/post/7902.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
微信扫码关注
更新实时通知