首页 > 代码库 > ES6 之 let const

ES6 之 let const

1 let 声明的变量只能自己读取不能和var声明的混淆

2 只要有let声明的代码块里,在声明的变量前调用就会报错

3 同一个变量不能声明2次

const :

1 作用域类似let

2 声明的常量不可改变,基本类型数据也是

const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针,const只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。

4 但是可以改变对象性值和添加属性 不能赋值新的对象和数组

5 如果真的想将对象冻结,应该使用Object.freeze方法。

 

顶层对象

1var命令和function命令声明的全局变量,依旧是顶层对象的属性;另一方面规定,let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性。

 

ES6 之 let const