1. const的基本用法是:声明一个只读的常量,这个常量一旦声明之后,常量的值就不能改变。

如果尝试改变const的值就会报错:Uncaught TypeError;

eg:

2. 由于const变量的值是不能修改的,所以在声明const变量时就必须初始化变量,不能在之后后赋值。

如果只声明const变量,不给其赋值,也会报错:Uncaught TypeError;

eg:

3. const变量声明之后只在所声明的块级作用域有效。

eg:

4.const声明的变量不存在变量提升,只能先声明后使用

eg:

5.const的本质

const保证的不是变量的值不改变,而是变量指向的那个内存地址不能改变。对于简单数据类型(数值,字符串,布尔值),值就保存在变量指向的那个内存地址,因而等同于常量。对于复合类型的数据(主要是对象和数组),变量指向的那个内存地址实际上保存的是一个指针,const只能保证这个指针是不变的不能保证,该指针指向的数据结构不能改变,所以对于对象声明成的常量也要非常小心。

eg:

如果对象指向的地址改变还是会报错的

 

posted on 2018-01-03 18:15  yyy_鸳鸯  阅读(334)  评论(0编辑  收藏  举报