防褚篡改对象
一旦把对象定义为防篡改对象,就无法撤销了
不可扩展对象
不可扩展对象——不能添加新的属性和方法,可以修改和删除已有的属性和方法
- 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 对象是否为冻结对象