ES6中const声明的常量可以修改吗?

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声明的常量可以修改吗?的详细内容,更多请关注其它相关文章!