JavaScript Object.seal () -menetelmä sinetöi annetun objektin.
seal()
Menetelmä estää uusia ominaisuuksia lisätään objekti ja merkitsee kaikki olemassa olevat ominaisuudet kuin ei-konfiguroitavissa.
Menetelmän syntaksi seal()
on:
Object.seal(obj)
seal()
Menetelmä, joka on staattinen menetelmä, kutsutaan käyttää Object
luokan nimi.
seal () Parametrit
seal()
Menetelmä vie:
- obj - sinetöitävä esine.
Palautusarvo sinetistä ()
- Palauttaa sinetöidyn objektin.
Esimerkki: Tiivisteen () käyttäminen
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
Tuotos
(foo: 'bar1', arvo: 5) TypeError Ominaisuutta ei voida määritellä uudelleen: foo
Huomautuksia :
- Oletusarvoisesti objektit ovat laajennettavissa (niihin voidaan lisätä uusia ominaisuuksia). Esineiden sulkeminen tekee esineiden ominaisuuksista kiinteitä ja muuttumattomia. Nykyisten ominaisuuksien arvoja voidaan silti muuttaa, kunhan ne ovat kirjoitettavissa.
Object.isSealed()
voidaan tarkistaa, onko esine sinetöity vai ei.- Yritä muuntaa dataominaisuus Accessoriksi tai päinvastoin epäonnistuu äänettömästi tai heittää
TypeError
.
Suositeltava lukeminen: JavaScript Object isSealed ()