首页 > 其他 > 详细

ES6——let与const

时间:2020-07-24 12:30:58      阅读:63      评论:0      收藏:0      [点我收藏+]
  • let (定义变量)

    • 代码块内有效

      {
          let a = 1
          console.log(a)	//1
      }
      console.log(a)	//ReferenceError: a is not defined
      
    • 不能重复声明

    • 不存在变量提升

  • const (定义常量)

    • 一旦声明必须初始化
    • 声明之后不允许改变

    const如何做到声明初始化后不允许改变的?

    保证变量指向的内存地址所保存的数据不允许改动,对于简单类型,值就保存在变量指向的那个内存地址,因此 const 声明的简单类型的变量等同于那个常量。而复杂类型、变量指向的内存地址其实是保存了一个指向实际数据的指针,所以 const 只能保证指针是固定的,至于指针指向的数据结构变不变就无法控制了,所以使用 const 声明复杂类型对象时要慎重

  • 暂时性死区

    代码块内如果存在 let 或则 const ,代码块会对这些命令的变量从块的开始形成一个封闭作用域。在声明变量 PI 之前使用它会报错

    var PI = ‘a‘
    if(true){
        console.log(PI)//ReferenceError: a is not defined
        const PI = ‘3.14‘
    }
    

ES6——let与const

原文:https://www.cnblogs.com/angle-yan/p/13370830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!