JavaScript Object.isExtensible()

Object.isExtensible() 方法用于检查一个对象是否是可扩展的,也就是说,是否可以向其添加新属性。

示例

// new objects are extensible
let empty = {};
console.log(Object.isExtensible(empty)); 

// Output: true

isExtensible() 语法

isExtensible() 方法的语法是:

Object.isExtensible(obj)

在这里,isExtensible() 是一个静态方法。因此,我们需要使用类名 Object 来访问该方法。


isExtensible() 参数

isExtensible() 方法接受

  • obj - 需要检查的对象。

isExtensible() 返回值

isExtensible() 方法返回一个 布尔值

  • true - 如果对象是可扩展的
  • false - 如果对象不可扩展

注意: 对象可以使用 Object.preventExtensions()Object.seal()Object.freeze() 标记为不可扩展。


示例:JavaScript Object.isExtensible()

// create an empty object
let obj = {};

// new objects are extensible
console.log(Object.isExtensible(obj)); 

// Output: true

// prevent extenstion of obj
Object.preventExtensions(obj);

// check if obj is extensible or not
console.log(Object.isExtensible(obj));

// Output: false 

在上面的示例中,我们创建了一个空对象 obj,并使用 isExtensible() 方法检查了它的可扩展性。

默认情况下,新对象是可扩展的:我们可以向它们添加新属性。

但是,我们可以使用 preventExtensions() 方法阻止对象被扩展。当我们调用此方法时,该对象将变为不可扩展。

当我们再次检查 obj 的可扩展性时,输出为 false,这表明该对象已不再可扩展。

注意:根据定义,被封锁 (sealed) 和冻结 (frozen) 的对象都是不可扩展的。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战