📜  JavaScript Object.preventExtensions() 方法(1)

📅  最后修改于: 2023-12-03 14:42:26.185000             🧑  作者: Mango

JavaScript Object.preventExtensions() 方法

简介

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() 方法只能禁止对象的扩展,它不会影响该对象中现有属性的可配置性或可写性。