const声明变量

声明一个常量

特点:

他的特点与let类似

1.块级作用域

2.不能在同一块内重复声明

3.暂时性死区

4.变量不提升、

5.在全局下声明的全局对象不再是window顶层对象的属性了。

6.支持解构赋值。

7.变量定义后不可改变:

这里的不可改变指的是不可改变const存的变量的指针。

简单数据类型存在于栈内存,指针直接指向值所以不可改变。

复杂数据类型存在于堆内存,变量存的是引用地址,所以可以改变该复杂类型的变量的值,但是却不能改变该变量的引用地址。

例如:

const a=[];

a.push('Hello');// 可执行

a.length=0;// 可执行

a=['Dave'];// 报错

你可能感兴趣的:(const声明变量)