这里只是大概画出内存结构的模型图,方便理解当我们声明变量和赋值变量时,到底在干嘛。
如上图所示,a赋值一个对象{}
,b赋值字符串hello
;
于是内存里划了三个区域给我们,一个存储我们声明的变量表,即保存变量名和变量的值,一个存储对象{}
,一个存储字符串hello
。
此时,如果我们对a再次赋值给字符串hello
,则内存结构变成下面这样:
那么,如果用const
来声明变量a的话,意味着a保存的内存地址不能被改变,将会一直指向对象{}
(注意:我们可以对对象{}
所在内存区域的数据进行更改,不能改变的仅仅是a保存的内存地址),对a再次赋值字符串hello
会报错。