ES6中const声明的常量可以修改吗?
es6常量修改疑问
es6中引入的const关键字用于定义常量,一旦声明且初始化后,不可再修改其值。然而,在以下代码中,即使将const关键字后加上let,却仍然可以修改pi的值:
const PI = '3.14'; console.log(PI); PI = '3.15555'; // 报错,常量不可修改 let PI = '2222'; // 不报错,可以修改
释疑
let和const都是声明变量前必须使用,定义后才能访问的限定符。但其主要区别在于:
- let:声明可修改的变量。
- const:声明常量,不可修改。
在上述代码中,当使用const声明pi后,由于其为常量,因此pi的值不可修改,代码中的赋值语句会报错。
然而,后面的let pi = '2222'之所以不报错,是因为:
- const声明的pi变量实际上是常量引用,指向内存中的一段内存空间,该内存空间存储了值'3.14'。
- let声明的pi变量也是一个引用,指向另一个内存空间,该内存空间存储了值'2222'。
因此,尽管都使用了相同的名称pi,但它们指向不同的内存空间,修改let声明的pi值不会影响const声明的pi值。
以上就是ES6中const声明的常量可以修改吗?的详细内容,更多请关注其它相关文章!