对象扩展
Object.preventExtensions:使对象不可扩展,也就是永远不能再添加新的属性
Object.isExtensible:判断一个对象是否是可扩展
const obj = {
name: "云牧"
}
const newObj = Object.preventExtensions(obj);
console.log(obj === newObj);
obj.age = 18;
console.log(obj);
console.log(Object.isExtensible(obj));
对象的封闭
Object.seal:阻止添加新属性+属性标记为不可配置(现有属性值可以修改)
Object.isSealed:检查一个对象是否被密封
const obj = {
name: "云牧",
};
Object.seal(obj);
obj.age = 18;
delete obj.name;
obj.name = "黛玉";
console.log(obj);
console.log(Object.isSealed(obj));
对象的冻结
Object.freeze:不加新属性+不可配置+不能修改值
Object.isFrozen:检查一个对象是否被冻结
const obj = {
name: "云牧",
};
Object.freeze(obj);
obj.age = 18;
delete obj.name;
obj.name = "黛玉";
console.log(obj);
console.log(Object.isFrozen(obj));