当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript Object.preventExtensions()用法及代码示例


JavaScript Object.preventExtensions() 方法可防止向对象添加新属性。

用法:

Object.preventExtensions(obj)

preventExtensions() 方法是静态方法,使用Object 类名调用。

preventExtensions()参数

preventExtensions() 方法包含:

  • obj - 应使其不可扩展的对象。

preventExtensions() 的返回值

  • 返回被设为不可扩展的对象。

注意:

  • 通常,不可扩展对象的属性仍可能被删除。
  • 尝试将新属性添加到不可扩展对象将失败,无论是静默还是在严格模式下抛出 TypeError
  • 仍然可以将属性添加到不可扩展对象的原型中。

示例:使用 preventExtensions()

let obj = {};
// by default, objects are extensible
console.log(Object.isExtensible(obj)); // true

let obj1 = Object.preventExtensions(obj);
console.log(obj == obj1); // true -> Returns the same object

console.log(Object.isExtensible(obj)); // false

// TypeError: Cannot define property newProp, object is not extensible
Object.defineProperty(obj, "newProp", {
  value: 123456,
});

输出

true
true
false
TypeError: Cannot define property newProp, object is not extensible

相关用法


注:本文由纯净天空筛选整理自 Javascript Object.preventExtensions()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。