美文网首页
let和const的特点总结

let和const的特点总结

作者: 悦者生存 | 来源:发表于2019-04-28 11:33 被阅读0次

    1.只在声明的块级作用域里面有效,在外面报错

    es5中是没有块级作用域的,所以在{}的外面也能访问到里面的变量
    {
        var a=6;
    }
    console.log(a);//输出6
    
    es6有了块级作用域,所以在{}的外面访问会报错
    
    {
        let a=6;
    }
    console.log(a);//referenceError
    
    

    2.不存在变量提升,只能在声明后使用,否则报错

    因为es5存在变量提升(可以参考我以前的文章 [变量提升,函数提升,区块](https://www.jianshu.com/p/a119d46e8e13)),所以下面这种方式写并不会报错
    {
        console.log(a);//输出undefined
        var a=6;
    }
    
    es6不存在变量提升,所以相同的写法会报错
    
    {
        console.log(a);//referenceError
        let a=6;
    }
    
    
    

    3.不可在同一作用域内重复声明,否则报错

    es5可以重复声明,下面的会覆盖上面的
    {
        var a=5;
        var a=6;
        console.log(a);//输出6
    }
    
    
    
    
    es6不能重复声明
    
    {
        let a=5;
        let a=6;
        console.log(a);
    }
    SyntaxError: Identifier 'a' has already been declared
    

    相关文章

      网友评论

          本文标题:let和const的特点总结

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