ES6中const的用法

  • const声明一个只读的常量。一旦声明,常量的值就不能改变。且const一旦声明变量,就必须立即初始化,不能留到以后赋值。
  • const的作用域与let命令相同:只在声明所在的块级作用域内有效。
  • const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。也与let一样不可重复声明。
  • const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。
  • const如果引用的是一个对象,只能保证引用对象的这个指针不变,但对象本身的数据结构是可以改变的。如:
    const foo = {};
    
    // 为 foo 添加一个属性,可以成功
    foo.prop = 123;
    foo.prop // 123
    
    // 将 foo 指向另一个对象,就会报错
    foo = {}; // TypeError: "foo" is read-only
    

      

posted @ 2018-09-20 23:41  Pearl_Ran  阅读(2008)  评论(0编辑  收藏  举报