zoukankan      html  css  js  c++  java
  • ES6——let与const

    • 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'
      }
      
  • 相关阅读:
    12.3
    团队项目第一阶段冲刺第一天
    4.22
    4.21 re重要功能
    12.1
    12.2
    4.17
    4.16
    css设置子元素相对于父元素保持位置不变(含有滚动条的父元素)
    git操作和npm操作清单
  • 原文地址:https://www.cnblogs.com/angle-yan/p/13370830.html
Copyright © 2011-2022 走看看