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声明的常量可以修改吗?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2655106.html