hugh 的个人博客

忽略的知识点-Object.freeze

1. freeze作用

方法可以冻结一个对象。

1. 一个被冻结的对象再也不能被修改demo

2. 冻结了一个对象则不能向这个对象添加新的属性,

3. 不能删除已有属性,

4. 不能修改该对象已有属性的可枚举性、可配置性、可写性

5. 不能修改已有属性的值。

6. 冻结一个对象后该对象的原型也不能被修改。

7. freeze() 返回和传入的参数相同的对象。

 

2. 注意点

1. 使用freeze,在非严格模式下会默默失败, 在严格模式下会报错

2. freeze只是浅冻结, 只会冻结当前对象具备的属性, 但是深层次的对象不会被冻结

obj1 = {
  internal: {}
};

Object.freeze(obj1);
obj1.internal.a = 'aValue';

obj1.internal.a // 'aValue'

 

3. 深冻结,需要遍历对象的属性,对对象类型的属性执行object.freeze

详例


标题:忽略的知识点-Object.freeze
作者:hugh0524
地址:https://blog.uproject.cn/articles/2019/05/14/1557812984715.html