+
95
-

Object.freeze()与Object.seal()有啥不同?

Object.freeze()与Object.seal()有啥不同?

网友回复

+
15
-

Object.freeze() 和 Object.seal() 是 JavaScript 中用于控制对象属性的两个方法,它们有一些相似之处,但也有重要的区别。

Object.freeze()冻结对象:Object.freeze() 方法会冻结一个对象。冻结对象后,对象的属性不能被添加、删除或修改。此外,对象的属性描述符也不能被更改。深度冻结:Object.freeze() 只会冻结对象的第一层属性。如果对象的属性是对象,那么这些嵌套对象不会被自动冻结。要实现深度冻结,需要递归地对每个嵌套对象调用 Object.freeze()。不可扩展:冻结的对象也是不可扩展的,即不能添加新的属性。

示例:

const obj = {
  prop: 42,
  nested: {
    nestedProp: 100
  }
};

Obj...

点击查看剩余70%

我知道答案,我要回答