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) 的对象都是不可扩展的。
另请阅读