const定义的对象属性是否可以改变?

大家都知道const定义的变量存在块级作用域,且不存在变量提升,一般用于定义常量,定义的时候必须初始化。

const定义的如果是基本数据类型(string,number,boolean,null,undifined,symbol),定义后就不可再修改,如果修改,会报错。在这里插入图片描述

那么如果是const定义的对象呢?是否可以修改对象中的属性?
答案是可以。
const定义的对象属性是否可以改变?_第1张图片

原因:对象是引用类型的,const定义的对象t中保存的是指向对象t的指针,这里的“不变”指的是指向对象的指针不变,而修改对象中的属性并不会让指向对象的指针发生变化,所以用const定义对象,对象的属性是可以改变的。

你可能感兴趣的:(javascript)