第二十二章 高级技巧

104 阅读1分钟

防褚篡改对象

一旦把对象定义为防篡改对象,就无法撤销了

不可扩展对象

不可扩展对象——不能添加新的属性和方法,可以修改和删除已有的属性和方法

  • Object.preventExtensions(obj):将 obj 对象修改为不可扩展对象
  • object.isExtensible(obj):确定 obj 对象是否可以扩展

密封对象

密封对象——不可扩展,不能删除已有的属性和方法,但是可以修改已有的属性和方法的值

  • Object.seal(obj):将 obj 对象修改为密封对象
  • Object.isSealed(obj):确定 obj 对象是否被密封

冻结对象

冻结对象——不可扩展,密封,对象已有的属性和方法不可修改。如果定义 [[Set]] 函数,访问器属性仍然是可写的

  • Object.freeze(obj):将 obj 对象修改为冻结对象
  • Object.isFrozen(obj):确定 obj 对象是否为冻结对象