栈与堆的基本理解
- 栈中用来存储地址
- 堆则用来存储真正的数据
const 的变量赋值
const
是ES6的新特性,与之前的var
不同const
没有变量提升,有块级作用域const
作为常量是不可以重新赋值的- 但是还存在另外一种情况
const定义的对象属性可以改变
- 当
const
对象是引用类型时,之保持栈里边的储存地址不变,堆里的值随便修改 - 若保持对象当中的属性值不变,改变属性;是不被允许的。栈中的地址一旦发生改变则会报错
- 若修改对象当中的属性值,只是修改堆中的内容是可以被允许的
一般来说当我们被问到这个问题时,总是会随口说出const
的内容不可以被改变,希望此文可以让大家对这些内容有一些了解。仅以此文纪念我犯的错,希望不会再犯
晚安,打工人!