let 以及 const

发布时间:2019-08-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了let 以及 const脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

es6 相关知识点

 let 以及 const

let命令

  • let 声明的变量只在它所在的代码块有效。

    //let 声明 只在当前作用域有效
    var a = [];
    for (let i = 0; i < 10; i++) {
      a[i] = function () {
        console.log(i);
      };
    }
    a[6](); // 6
    
    //var 声明 在全局作用域有效
    var a = [];
    for (var i = 0; i < 10; i++) {
      a[i] = function () {
        console.log(i);
      };
    }
    a[6](); // 10
  • let 不存在变量提升,在let声明之前使用变量,会报错ReferenceError

    // var 的情况
    console.log(foo); // 输出undefined
    var foo = 2;
    
    // let 的情况
    console.log(bar); // 报错ReferenceError
    let bar = 2;
  • let 不允许重复声明

    // 报错
    function () {
      let a = 10;
      var a = 1;
    }
    
    // 报错
    function () {
      let a = 10;
      let a = 1;
    }

不能在函数内部重新声明参数

function func(@R_126_2604@) {
  let arg; // 报错
}

function func(arg) {
  {
    let arg; // 不报错
  }
}

const 命令

  • 一旦声明,常量的值就不改变,只在声明所在的块级作用域有效。
  • const 命令声明的常量也是不提升,同样存在暂时性死区。
  • 本质: const 实际上保证的,不是变量的值不能改动,而是变量指向的那个内存地址不得改动。对于简单的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型(引用类型)的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针, const 只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,不能控制。

脚本宝典总结

以上是脚本宝典为你收集整理的let 以及 const全部内容,希望文章能够帮你解决let 以及 const所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。