JavaScript Object.seal()

Definitie en gebruik

Object.seal() De methode wordt gebruikt om het toevoegen of verwijderen van eigenschappen van objecten te voorkomen en bestaande eigenschappen onconfigurabel te maken.

Object.seal() De methode faalt stil in niet-strikt modus.

Object.seal() De methode gooit een TypeError in strikte modus.

U kunt Object.isSealed() Methoden om te controleren of een object gesloten is.

Gerelateerde methoden:

Object.preventExtensions() 允许修改,但阻止添加属性。

Object.seal() 允许修改,但阻止添加和删除属性。

Object.freeze() 阻止修改、添加和删除属性。

Object.isExtensible() 如果对象可扩展,则返回true。

Object.isSealed() 如果对象是密封的,则返回true。

Object.isFrozen() 如果对象被冻结,则返回true。

实例

例子1

"use strict"
// 创建对象
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// 密封对象
Object.seal(person);
// 以下操作将抛出错误
delete person.age;

亲自试一试

例子2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.seal(fruits);
// 以下操作将抛出错误:
fruits.push("Kiwi");

亲自试一试

语法

Object.seal(object)

参数

参数 描述
object 必需。要密封的对象。

返回值

类型 描述
Object 密封后的对象。

浏览器支持

Object.seal() 是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