ES6之let 和 const 命令

作者: 小碗吃不了 | 来源:发表于2019-02-18 14:31 被阅读0次

    基础点

    • let和const 都是只在声明所在的块级作用域内有效

    • let声明的变量可以改变,值和类型都可以改变,没有限制

      {
       let a = 10;
       var b = 1;
       } a // 报错,ReferenceError: a is not defined. b // 1
      
    • const声明只读的常量并且必须立即初始化

      const PI = 3.1415;
      PI // 3.1415
      PI = 3; // 报错,TypeError: "PI" is read-only.
      
    • ES5中var只有全局作用域和函数作用域

    不存在变量提升

    • let和const不像var那样会发生“变量提升”现象。所以,变量一定要在声明后使用,否则报错

    • 命令声明变量之前,该变量都是不可用的

        console.log(foo); // 输出undefined
        console.log(bar); // 报错,ReferenceError: bar is not defined.
        var foo = 2;
        let bar = 2;
      

    不允许重复声明

    • let和const不允许在相同作用域内,重复声明同一个变量

    • 定义在不同作用域的同名变量互不干扰

      // 报错,TypeError: Duplicate declaration "a".
      function test() {
        let a = 10;
        var a = 1;
      }
      
      // 报错,TypeError: Duplicate declaration "a".
      function test() {
        let a = 10;
        let a = 1;
      }
      

    前端小学生,仅个人总结,欢迎大佬指点,谢谢!

    相关文章

      网友评论

        本文标题:ES6之let 和 const 命令

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