Javascript Object.seal ()

Il metodo JavaScript Object.seal () sigilla l'oggetto specificato.

Il seal()metodo impedisce l'aggiunta di nuove proprietà all'oggetto e contrassegna tutte le proprietà esistenti come non configurabili.

La sintassi del seal()metodo è:

 Object.seal(obj)

Il seal()metodo, essendo un metodo statico, viene chiamato utilizzando il Objectnome della classe.

parametri seal ()

Il seal()metodo comprende:

  • obj: l'oggetto che deve essere sigillato.

Valore restituito dal sigillo ()

  • Restituisce l'oggetto da sigillare.

Esempio: utilizzo di 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

Produzione

 (foo: 'bar1', valore: 5) TypeError Impossibile ridefinire la proprietà: foo

Note :

  • Per impostazione predefinita, gli oggetti sono estensibili (è possibile aggiungervi nuove proprietà). La sigillatura degli oggetti rende le proprietà degli oggetti fisse e immutabili. I valori delle proprietà attuali possono ancora essere modificati fintanto che sono scrivibili.
  • Object.isSealed() può essere utilizzato per verificare se un oggetto è sigillato o meno.
  • Il tentativo di convertire la proprietà dei dati in una funzione di accesso o viceversa non riuscirà silenziosamente o verrà generato TypeError.

Letture consigliate: JavaScript Object isSealed ()

Articoli interessanti...