📅  最后修改于: 2023-12-03 14:42:26.185000             🧑  作者: Mango
Object.preventExtensions()
方法是 JavaScript 中的一个内置方法,它可以用于禁止一个对象添加新属性或方法。
一旦调用了该方法,就不能再给该对象添加新的属性或方法。然而,该对象现有的属性或方法是可以修改或删除的。这个方法是基于传入的对象来运行的,并且返回修改后的对象。
以下是 Object.preventExtensions()
方法的语法:
Object.preventExtensions(obj)
参数:
obj
:要被设置为不可扩展的对象。返回值:
以下是使用 Object.preventExtensions()
方法的示例:
let person = { name: "John", age: 30 };
Object.preventExtensions(person);
person.gender = "Male"; // 抛出 TypeError,对象不可扩展
console.log(person); // { name: "John", age: 30 }
在上面的示例中,Object.preventExtensions()
方法被用于禁止添加名为 "gender" 的新属性到 person
对象中。因此,在尝试给 person
对象添加新属性时,会抛出 TypeError: Cannot add property gender, object is not extensible
异常。当我们打印 person
对象时,发现它不包含新属性。
Object.preventExtensions()
方法时,不能将一个不可扩展的对象转换为可扩展的对象。这意味着一旦禁用了扩展,就无法再撤消它。Object.isExtensible()
方法可用于检查对象是否可扩展。Object.preventExtensions()
方法只能禁止对象的扩展,它不会影响该对象中现有属性的可配置性或可写性。