Object.seal()方法封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要原来是可写的就可以改变。
let object1 = {
property1: 42
};
Object.seal(object1);
object1.property1 = 33;
object1.property2 = 44;
console.log(object1.property1);
// expected output: 33
delete object1.property1; // 删除失败
console.log(object1);
//结果
//let object1 = {
// property1: 42
//};
Object.isSealed() 方法判断一个对象是否被密封 被密封true 未被密封false
let object1 = {
property1: 42
};
Object.seal(object1);
object1.property1 = 33;
//Object.isSealed() 方法判断一个对象是否被密封 被密封true 未被密封false
console.log('object1密封状态',Object.isSealed(object1))
if(Object.isSealed(object1)){
console.log('被密封')
}else{
//对象未被密封的时候 来添加属性
object1.property2='未被密封';
console.log('未被密封')
}
console.log(object1);
对象密封状态下,不可能新增属性
image.png
网友评论