控制对象状态

课后整理 2020-12-10

JavaScript提供了三种方法,用来精确控制一个对象的读写状态,防止对象被改变。

同时提供3个对应的辅助检查函数,简单说明如下:

【示例】下面代码分别使用Object.preventExtensions、Object.seal和Object.freeze函数控制对象的状态,然后再使用Object.isExtensible、Object.isSealed和Object.isFrozen函数检测对象的状态。

var obj1 =  {};
console.log(  Object.isExtensible(obj1) );      //true
Object.preventExtensions(obj1);
console.log( Object.isExtensible(obj1)  );      //false
var obj2 =  {};
console.log(  Object.isSealed(obj2) );           //true
Object.seal(obj2);
console.log(  Object.isSealed(obj2) );           //false
var obj3 =  {};
console.log(  Object.isFrozen(obj3) );           //true
Object.freeze(obj3);
console.log( Object.isFrozen(obj3) );           //false