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 Object
nazwy 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 ()