ES6之let的用法

132 阅读1分钟
<!--let的使用-->
1.在相同的作用域内,let不能被重复声明
2.let声明的变量不会被预解析
3.暂时性的死区(变量在let声明前不能被访问,ES5中var 声明的变量可以提前访问,为了防止
<script>
    // 1.在相同的作用域内,let不能被重复声明
    ES5: var a=5
    console.log(a)
    var a=6
    console.log(a)//打印的时5、6

     ES6:let b=3
    console.log(b)
    let b=4
    console.log(b)//Uncaught SyntaxError: Identifier 'b' has already been declared

    // 2.let声明的变量不会被预解析
    ES5:console.log(a)//undefined
    var a=5

    ES6:console.log(b)//Uncaught ReferenceError: a is not defined
    let b=6

    let c=7
    console.log(b)//6

    // 3.暂时性的死区
    console.log(c)//Uncaught ReferenceError: a is not defined
    let c=12
    
    
    let c=12
    console.log(c)//12
</script>