De JavaScript Object.seal () - methode verzegelt het opgegeven object.
De seal()
methode voorkomt dat nieuwe eigenschappen aan het object worden toegevoegd en markeert alle bestaande eigenschappen als niet-configureerbaar.
De syntaxis van de seal()
methode is:
Object.seal(obj)
De seal()
methode, die een statische methode is, wordt aangeroepen met behulp van de Object
klassenaam.
seal () Parameters
De seal()
methode omvat:
- obj - Het object dat moet worden verzegeld.
Retourwaarde van seal ()
- Retourneert het object dat wordt verzegeld.
Voorbeeld: seal () gebruiken
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
Uitvoer
(foo: 'bar1', waarde: 5) TypeError Kan eigenschap niet opnieuw definiëren: foo
Opmerkingen :
- Objecten zijn standaard uitbreidbaar (er kunnen nieuwe eigenschappen aan worden toegevoegd). Het verzegelen van objecten maakt eigenschappen van objecten vast en onveranderlijk. De waarden van huidige eigenschappen kunnen nog worden gewijzigd zolang ze schrijfbaar zijn.
Object.isSealed()
kan worden gebruikt om te controleren of een object is verzegeld of niet.- Poging om gegevenseigenschap te converteren naar accessor of vice versa zal stil mislukken of gooien
TypeError
.
Aanbevolen literatuur: JavaScript-object isSealed ()