在运行时将变量设为常量

前端开发 2026-07-12

我在做一个小型个人项目,需要动态创建一个最终会成为常量的数组。我知道我可以创建一个不同的变量并使用 const 关键字来声明它,或者让它根本就不是常量,这只是为了澄清。

有没有办法在运行时把一个已经定义好的变量变成常量?

解决方案

从技术上讲,在JS中数组既可以是 常量,也可以是 可变 的。当一个数组像 const myArray = [] 那样被声明时,数组仍然可以像 myArray.push('Fred') 那样被修改,即使你不能像 myArray = {name: 'Fred'} 那样重新赋值。(注意 = 赋值运算符。)

阻止自己(或他人)在之后重新赋值的方式,是把完成的数组传递给 Object.freeze()

如果目的是让你的代码编辑器把该值标记为常量,编辑器需要相当智能。这种做法可能对这点没什么帮助。

如果目的是利用 const 的卓越性能,你很可能在过早优化。浏览器中的JS引擎已经高度优化;应用你自己的微优化更可能让你自己变得更困难,而不是让引擎变得更快。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章