美文网首页
ES6 const命令特性

ES6 const命令特性

作者: GoFzy | 来源:发表于2019-03-16 16:44 被阅读0次

    一、“不可”改变

      const 声明一个只读的变量。一旦声明,常量的值就不可改变:

    const foo = 3.5;
    foo = 4;//报错
    

      不可改变的本质:变量指向的那个内存地址不可改变,比如我们定义foo、bar对象和a、b两个数值类型变量:

    const foo = {
      foo.pro = 123;
    }
    const bar = {
      bar.pro = 456;
    }
    const a = 10;
    const b = 20;
    

      对象属于复杂数据类型,number属于简单数据类型,在内存中存储如下图:


    数据在内存中的存储

      因此对于简单数据类型的数据,值就保存在变量指向的内存地址中,因此不可改变。而对于复杂数据类型保存的是一个指针,const只保证指针固定,因此我们可以修改指针指向的内容。故:

    a = 1;//报错
    foo.pro = 456;//成功
    foo = bar;//报错
    

    二、一旦声明就必须初始化

      const声明后必须立即进行初始化,不可留到以后赋值

    const foo;//报错
    

    三、作用域&&变量提升&&重复声明

      这部分特性均与let保持一致

    相关文章

      网友评论

          本文标题:ES6 const命令特性

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