美文网首页
ES6 let const 块级作用域

ES6 let const 块级作用域

作者: infi_ | 来源:发表于2017-12-26 15:20 被阅读0次

    所谓温故而知新,一些知识还是值得拿出来巩固的


    let 和const其用法和var 类似,但是所声明的变量只在let或const所在的代码块内有效

    {
    let a=10
    var b=1
    }
    a//a is not defined
    b//1
    

    暂时性死区
    只要块级作用域内存在let命令,它所声明的变量就绑定这个区域,不再受外部影响
    并且没有变量提升

    var tmp=123;
    if(true){
    tmp='abc'
    let tmp;
    }
    
    

    这样会报错,由于let tmp已经和这个块级作用域绑定 tmp在let之前使用 会报错

    let和const都不允许重复声明,但内层作用域可以定义外层作用域的同名变量
    这里要注意

    关于const
    对于const指向符合类型的变量,变量名不指向数据,而是指向数据所在地址;

    const a=[];
    a.push("hello")
    a=['hello']
    

    以上代码会报错,原因是把a又重新指向了一个新地址

    以上例子部分来自阮一峰的ES6入门

    相关文章

      网友评论

          本文标题:ES6 let const 块级作用域

          本文链接:https://www.haomeiwen.com/subject/rmqjgxtx.html