Object.seal de Javascript ()

El método JavaScript Object.seal () sella el objeto dado.

El seal()método evita que se agreguen nuevas propiedades al objeto y marca todas las propiedades existentes como no configurables.

La sintaxis del seal()método es:

 Object.seal(obj)

El seal()método, al ser un método estático, se llama utilizando el Objectnombre de la clase.

seal () Parámetros

El seal()método incluye:

  • obj: el objeto que se va a sellar.

Valor de retorno del sello ()

  • Devuelve el objeto que se está sellando.

Ejemplo: usar seal ()

 let obj = ( foo: "bar", func: function () (), ); // before sealing, properties can be added, modified, or removed obj.foo = "JavaScript"; obj.value = 5; delete obj.func; // sealing the object o = Object.seal(obj); // can still change property values obj.foo = "bar1"; // no other change // fails silently obj.foo1 = "bar"; delete obj.foo; console.log(obj); // ( foo: 'bar1', value: 5 ) // cannot convert data property to accessors or vice versa Object.defineProperty(obj, "foo", ( get: function () ( return "g"; ), )); // TypeError Cannot redefine property: foo

Salida

 (foo: 'bar1', valor: 5) TypeError No se puede redefinir la propiedad: foo

Notas :

  • De forma predeterminada, los objetos son extensibles (se les pueden agregar nuevas propiedades). El sellado de objetos hace que las propiedades de los objetos sean fijas e inmutables. Los valores de las propiedades actuales aún se pueden cambiar siempre que se puedan escribir.
  • Object.isSealed() se puede utilizar para comprobar si un objeto está sellado o no.
  • El intento de convertir la propiedad de datos en descriptor de acceso o viceversa fallará en silencio o se lanzará TypeError.

Lectura recomendada: JavaScript Object isSealed ()

Articulos interesantes...