25
2019
04

ES6 临时死区

与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

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。