1.Object.preventExtensions(obj)
作用:可以防止新属性被添加到对象中(即防止该对象被扩展)。
const obj = {
name: "obj",
};
Object.preventExtensions(obj);
obj.age = 18;
console.log(obj.age); //undefined
2.Object.seal(obj)
作用:可以防止新属性被添加到对象中(即防止该对象被扩展),并且对象所有属性的configurable设置为false,也就是禁止 配置,删除属性
const obj = {
name: "obj",
};
Object.seal(obj)
obj.age = 18;
obj.name = '新obj';
delete obj.name
console.log(obj); //Object { name: "新obj" }
3.Object.freeze(obj)
作用:可以防止新属性被添加到对象中(即防止该对象被扩展),并且对象所有属性的configurable和writable都设置为false
const obj = {
name: "obj",
};
Object.freeze(obj)
obj.age = 18;
obj.name = '新obj';
console.log(obj); //Object { name: "obj" }