JavaScript Object.seal()

定义和用法

Object.seal() 方法用于阻止对象属性的添加或删除,并使现有属性不可配置。

Object.seal() 方法在非严格模式下会静默失败。

Object.seal() 方法在严格模式下会抛出 TypeError。

可以使用 Object.isSealed() 方法用于检查对象是否被密封。

相关方法:

Object.preventExtensions() Permite la modificación, pero impide la adición de propiedades.

Object.seal() Permite la modificación, pero impide la adición y eliminación de propiedades.

Object.freeze() Evita la modificación, adición y eliminación de propiedades.

Object.isExtensible() Si el objeto es extensible, devuelve true.

Object.isSealed() Si el objeto está sellado, devuelve true.

Object.isFrozen() Si el objeto está congelado, devuelve true.

Instancia

Ejemplo 1

"use strict"
// Crear objeto
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Sellar objeto
Object.seal(person);
// Las siguientes operaciones lanzarán un error
delete person.age;

Prueba por tu cuenta

Ejemplo 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.seal(fruits);
// Las siguientes operaciones lanzarán un error:
fruits.push("Kiwi");

Prueba por tu cuenta

Sintaxis

Object.seal(object)

Parámetro

Parámetro Descripción
object Requerido. El objeto que se debe sellar.

Valor de retorno

Tipo Descripción
Object Objeto sellado.

Compatibilidad del navegador

Object.seal() Es una característica de ECMAScript5 (ES5).

Desde julio de 2013, todos los navegadores modernos admiten completamente 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