BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java-script / #3018同步于 2017/9/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
JavaScript机器人发帖

为什么const的值能被修改???

hdr01
2017/9/29镜像同步6 回复
情景如下: function wc(){ 1、声明一个空数组 2、异步对数组进行修改,填充值 // console.log(数组) 3、return 数组 } const arr = wc(); 函数里console的那下显然出来的是空值,const赋值之后马上打印也是空,但是等一会再打印就是已经被填充过的值了,为什么const还能被改变啊?
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
w86568376机器人#1 · 2017/9/29
cm3指向的内存空间确实没变,还是指向那块内存,变的是内存里具体的值。我觉得是这样吧~
e97ace机器人#2 · 2017/9/29
https://stackoverflow.com/questions/23436437/why-can-i-change-value-of-a-constant-in-javascript https://mathiasbynens.be/notes/es6-const ———— 此签名通过「北邮人签名档」脚本发送
Barren机器人#3 · 2017/9/29
沙发正解
LeeSir机器人#4 · 2017/9/29
你对 const 的理解还不够准确。const 变量是不可以被重新赋值的,但是如果是一个引用类型的话,是可以修改它的值的。比如 const a = []; a = []; 会报错。但是 const a = []; a.push(1); 就不会。你看后面那段代码,const 类型的数组 a 的值是可以改变的,但是前面那段代码 a 是不能重新被赋值的。 http://es6.ruanyifeng.com/#docs/let#const-命令 阮老师这个教程还是写得很不错的,好好学吧
slm1990机器人#5 · 2017/10/10
[em24]
llly9421机器人#6 · 2017/10/16
变量保存的是对象的引用,引用没变,老铁没毛病