跳到主要内容

JavaScript 对象的 Object.isExtensible() 方法详解

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

示例

// 新对象是可扩展的
let empty = {};
console.log(Object.isExtensible(empty));

// 输出: true

isExtensible()语法

isExtensible()方法的语法是:

Object.isExtensible(obj);

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

isExtensible()参数

isExtensible()方法接受:

  • obj - 需要检查的对象。

isExtensible()返回值

isExtensible()方法返回一个Boolean值:

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

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

示例:JavaScript对象Object.isExtensible()

// 创建一个空对象
let obj = {};

// 新对象是可扩展的
console.log(Object.isExtensible(obj));

// 输出: true

// 阻止obj的扩展
Object.preventExtensions(obj);

// 检查obj是否可扩展
console.log(Object.isExtensible(obj));

// 输出: false

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

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

然而,我们可以使用preventExtensions()方法阻止一个对象被扩展。当我们调用这个方法时,对象变成不可扩展的。

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

注意:被密封和冻结的对象按定义是不可扩展的。

推荐阅读: