Javascript Object.seal ()

Metoda JavaScript Object.seal () pieczętuje dany obiekt.

Te seal()metody zapobiega nowe właściwości z dodaniem do obiektu i oznaczenie wszystkich istniejących właściwości jak nie mogą być zmieniane.

Składnia seal()metody to:

 Object.seal(obj)

seal()Metoda jest metodą statyczną, nazywa się używając Objectnazwy klasy.

seal () Parametry

seal()Sposób odbywa się:

  • obj - obiekt, który ma zostać zapieczętowany.

Wartość zwracana z pieczęci ()

  • Zwraca zapieczętowany obiekt.

Przykład: użycie seal ()

 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

Wynik

 (foo: 'bar1', wartość: 5) TypeError Nie można przedefiniować właściwości: foo

Uwagi :

  • Domyślnie obiekty są rozszerzalne (można do nich dodawać nowe właściwości). Pieczętowanie obiektów sprawia, że ​​właściwości obiektów są stałe i niezmienne. Wartości bieżących właściwości można nadal zmieniać, o ile są dostępne do zapisu.
  • Object.isSealed() można użyć do sprawdzenia, czy obiekt jest zapieczętowany, czy nie.
  • Próba przekonwertowania właściwości danych na akcesor lub odwrotnie zakończy się niepowodzeniem lub zgłoszenie TypeError.

Zalecana lektura: Obiekt JavaScript isSealed ()

Interesujące artykuły...