Object.freeze() 冻结对象

最后更新:2026-09-09

Object.freeze() 冻结对象

Object.freeze 冻结对象:不能添加、删除或修改属性。是一种轻量级的不可变保护,但只是浅冻结(嵌套对象不受影响)。

分类对象
ES 版本ES5

📝 语法

Object.freeze(对象);

⚙️ 参数

obj要冻结的对象。

返回值:被冻结的对象(同一引用)。

是否修改原值:是(原地修改)

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

5000
true
💡 提示 freeze 保证变量名不能重新赋值,不是值不可变——想让嵌套对象也冻结需要递归 freeze。
⚠️ 警告 freeze 是浅冻结——嵌套对象的属性仍然可以修改。

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
Object.freeze() v1 v12 v1.5 v3 v10.5
所有现代浏览器均支持
更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

QObject.freeze 和 const 有什么区别?
Aconst 只保证变量名不能重新赋值(绑定不变);freeze 保证对象的属性不能增删改。
Qfreeze 是深冻结吗?
A不是——只冻结一层。嵌套对象需要递归 freeze。
Q冻结后还能解冻吗?
A不能——freeze 是不可逆的。需要可变副本时用 {...obj} 创建新对象。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏