Metoda JavaScript Object.seal () zapečetí daný objekt.
Tyto seal()
metoda zabrání nové vlastnosti z přidávaná do objektu a značek všechny stávající vlastnosti jako non-konfigurovatelné.
Syntaxe seal()
metody je:
Object.seal(obj)
seal()
Metoda je statické metody, je nazýván pomocí Object
název třídy.
parametry těsnění ()
seal()
Metoda bere v:
- obj - Objekt, který má být zapečetěn.
Návratová hodnota z pečeti ()
- Vrátí zapečetěný objekt.
Příklad: Použití těsnění ()
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
Výstup
(foo: 'bar1', hodnota: 5) TypeError Nelze předefinovat vlastnost: foo
Poznámky :
- Ve výchozím nastavení jsou objekty rozšiřitelné (lze k nim přidat nové vlastnosti). Díky zapečetění předmětů jsou vlastnosti na objektech pevné a neměnné. Hodnoty současných vlastností lze stále měnit, pokud jsou zapisovatelné.
Object.isSealed()
lze použít ke kontrole, zda je předmět zapečetěn nebo ne.- Pokus o převod datové vlastnosti na přístupový objekt nebo naopak selže bezobslužně nebo vyvolá
TypeError
.
Doporučené čtení: Objekt JavaScript je uzavřen ()