Metoda JavaScript Object.seal () sigilează obiectul dat.
Cele seal()
previne Metoda proprietăți noi de a fi adăugate la obiectul și marcajele toate proprietățile existente ca non-configurabile.
Sintaxa seal()
metodei este:
Object.seal(obj)
seal()
Metoda, fiind o metodă statică, se numește folosind Object
numele clasei.
seal () Parametri
seal()
Metoda ia în:
- obj - Obiectul care urmează să fie sigilat.
Returnează valoarea din sigiliu ()
- Returnează obiectul sigilat.
Exemplu: Utilizarea sigiliului ()
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
Ieșire
(foo: 'bar1', valoare: 5) TypeError Nu se poate redefini proprietatea: foo
Note :
- În mod implicit, obiectele sunt extensibile (pot fi adăugate noi proprietăți). Etanșarea obiectelor face proprietăți asupra obiectelor fixe și imuabile. Valorile proprietăților actuale pot fi în continuare modificate atâta timp cât acestea pot fi scrise.
Object.isSealed()
poate fi folosit pentru a verifica dacă un obiect este sigilat sau nu.- Încercarea de a converti proprietatea datelor în accesor sau invers va eșua în tăcere sau arunca
TypeError
.
Lectură recomandată: JavaScript Object isSealed ()