Object.freeze() 方法用于冻结一个对象。
Object.freeze(O);
| 参数 | 说明 | 类型 |
|---|---|---|
| O | 将被冻结的对象 | object |
返回被冻结的对象。
一个被冻结的对象再也不能被修改。
冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。
数据属性的值不可更改,访问器属性(有 getter 和 setter)也同样(但由于是函数调用,给人的错觉是还是可以修改这个属性)。
如果一个属性的值是个对象,则这个对象中的属性是可以修改的,除非它也是个冻结对象。
数组作为一种对象,被冻结,其元素不能被修改。没有数组元素可以被添加或移除。