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
作为输出,表明该对象不再可扩展。
注意:被密封和冻结的对象按定义是不可扩展的。
推荐阅读: