当前位置: 代码迷 >> 综合 >> ES5 对象的扩展(Object.preventExtensions)、密封(Object.seal)和冻结(Object.freeze)
  详细解决方案

ES5 对象的扩展(Object.preventExtensions)、密封(Object.seal)和冻结(Object.freeze)

热度:42   发布时间:2023-11-01 12:15:58.0
  1. 扩展对象
    1. Object.preventExtensions(obj)
      阻止对象扩展,让一个对象变的不可扩展,也就是永远不能再添加新的属性
    2. Object.isExtensible(obj)
      判断一个对象是否可扩展,即是否可以给它添加新属性
  2. 密封对象
    1. Object.seal(obj)
      让一个对象密封,并返回被密封后的对象。密封对象是指那些不能添加新的属性,不能删除已有属性,以及不能修改已有属性的可枚举性、可配置性、可写性,但可以修改已有属性的值的对象
    2. Object.isSealed(obj)
      判断一个对象是否是密封的
  3. 冻结对象
    1. Object.freeze(obj)
      这个方法比 Object.seal 更绝,冻结对象是指那些不能添加新的属性,不能修改已有属性的值,不能删除已有属性,以及不能修改已有属性的可枚举性、可配置性、可写性的对象。也就是说,这个对象永远是不可变的
    2. Object.isFrozen(obj)
      判断一个对象是否被冻结
  相关解决方案