ES5 只有两种声明变量的方法:var命令和function命令。

ES6 除了添加letconst命令,后面章节还会提到,另外两种声明变量的方法:import命令和class命令。

 

所以,ES6 一共有 6 种声明变量的方法 : var ,function,let const,import,class。

1. var 

2. let

3. const: 

    const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。

  1. 对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。
  2. 对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。
    • 如果真的想将对象冻结,应该使用Object.freeze方法:
      const foo = Object.freeze({});  
    • 
      

     

posted on 2018-07-25 17:16  死生之外,皆是闲事  阅读(111)  评论(0编辑  收藏  举报