介绍
Object.freeze() 方法可以冻结一个对象。MDN文档
- 一个被冻结的对象再也不能被修改;
- 冻结了一个对象则不能向这个对象添加新的属性;
- 不能删除已有属性;
- 不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。
- 冻结一个对象后该对象的原型也不能被修改。
用途
当信息保存在对象中并以const
修饰时,是可以修改对象中的属性值的,因为始终修改的是同一块内存。
使用Object.freeze()
方法就可以解决这个问题,将常量冻结,禁止后人修改。
注意事项
已知Object.freeze()
冻结的对象在后面代码改变它时不会发生任何改变,但也不会报错,不提供任何提示,对于后来开发者来讲容易出现误导,建议使用严格模式use strict
。