JavaScript Object.preventExtensions()
定义和用法
Object.preventExtensions()
方法用于阻止向对象添加新属性。
你可以使用 Object.isExtensible()
来检查对象是否可扩展。
相关方法:
Object.preventExtensions()
允许修改,但阻止添加属性。
Object.seal()
允许修改,但阻止添加和删除属性。
Object.freeze()
阻止修改、添加和删除属性。
Object.isExtensible()
如果对象可扩展,则返回 true。
Object.isSealed()
如果对象是密封的,则返回 true。
Object.isFrozen()
如果对象被冻结,则返回 true。
实例
例子 1
// 创建对象 const person = {firstName: "Bill", lastName: "Gates"}; // 阻止扩展 Object.preventExtensions(person); // 在严格模式下,这将抛出错误 person.nationality = "English";
例子 2
// 创建数组 const fruits = ["Banana", "Orange", "Apple", "Mango"]; Object.preventExtensions(fruits); // 在严格模式下,这将抛出错误: fruits.push("Kiwi");
语法
Object.preventExtensions(object)
参数
参数 | 描述 |
---|---|
object | 必需。要阻止扩展的对象。 |
返回值
类型 | 描述 |
---|---|
Object | 被修改后的对象。 |
浏览器支持
Object.preventExtensions()
是 ECMAScript5 (ES5) 的特性。
自 2013 年 7 月起,所有现代浏览器均完全支持 ES5(JavaScript 2009):
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 23 | IE/Edge 11 | Firefox 21 | Safari 6 | Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |