Javascript Object.seal ()

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í Objectná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 ()

Zajímavé články...