首页 期权学习期权知识正文

ES6 临时死区

xiaojiucai 期权知识 2020-08-18 566 0

与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

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

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。