Object.seal()函数用于将对象封闭,即使对象处于一个可变状态,但是不允许添加和删除属性。封闭的对象的属性仍然是可写的,但不允许添加新属性或删除现有属性。
使用Object.seal()函数进行浅冻结,可以按照以下步骤进行:
- 首先,创建一个对象:
const obj = {
a: 1,
b: 2
};
- 然后,使用Object.seal()函数将对象封闭:
Object.seal(obj);
- 尝试进行属性修改:
obj.a = 10; // 可以修改
obj.c = 3; // 不允许添加新属性
delete obj.b; // 不允许删除属性
在上面的示例中,使用Object.seal()函数将对象obj进行封闭。封闭的对象仍然可以对属性进行修改,例如修改obj.a
的值为10,但是不允许添加新属性obj.c
,也不允许删除属性obj.b
。
需要注意的是,虽然Object.seal()函数可以禁止添加和删除属性,但是该函数不会将对象中的属性标记为只读。所以,封闭状态下的对象的属性仍然可以被修改。
总结来说,Object.seal()函数用于将对象封闭,使其不允许添加和删除属性,但允许修改已有属性的值。