在JavaScript中使用const声明一个变量,只意味着该变量总是指向相同的对象或基本数值,因为该引用不能改变。引用本身是不可变的,但是变量存储的值不会变成不可变的。
在下面这个例子中,虽然 people 指向的引用不能修改,但是数组自身是可以修改的。
const 语句只能防止变量指向另外一个值。我们可以用另外一个例子来展示这个区别,我们会使用 const 创建一个 people 变量,然后使用 var 把它复制给一个变量 humans。我们可以为 humans 变量重新赋值,因为它不是用 const 来声明的。但是,我们不能为 people 重新赋值指向另外一个数值,因为它是用 const 声明的。
如果我们的目的是让变量值不可变,这时需要用一个函数来实现,如 Object.freeze。使用 Object.freeze 可以对象被扩展,例如:
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.