Jak zapobiegać modyfikacji obiektów w JavaScript

Jak zapobiegać modyfikacji obiektów w JavaScript

JavaScript oferuje wiele metod zapobiegania modyfikacji obiektów, takich jak obiekt.Zapobieganie FEXTENSIONS (), obiekt.pieczęć () i obiekt.zamrażać(). Wszystkie te metody upewniają się, że nikt nie może celowo lub przypadkowo zmodyfikować funkcjonalność obiektu.

W tym poście opisano poniżej listy metod zapobiegania modyfikacjom obiektu w JavaScript:

  • Obiekt.Zapobieganie rozkładom ()
  • Obiekt.foka()
  • Obiekt.zamrażać()

Więc zacznijmy!

Obiekt.Zapobieganie rozkładom ()

Punkty poniżej listy wyjaśniają dokładnie metodę zapobiegania FEXTENSIONS ():

  • Metoda Preventextensions () ogranicza użytkownika do dodawania nowych metod lub właściwości.
  • Pozwala użytkownikowi usunąć istniejące metody i właściwości
  • Umożliwia użytkownikom dostęp do istniejących metod/właściwości.

Oto składnia obiektu.Metoda zapobiegania FEXTENSIONS ():

1
Obiekt.zapobieganie rozkładom (OBJ);

Rozważmy poniższy blok kodu, aby zrozumieć, w jaki sposób metoda zapobiegania FEXTENSIONS () działa w JavaScript:

1
2
3
4
5
6
7
8
9
10
const empobj =
Empname: „Dean”
;
Obiekt.zapobieganie rozkładom (empObj);
empobj.empname = "Dean Jones";
empobj.empid = 12;
konsola.Log („Nazwa pracownika:”, empobj.nazwa empnamentu);
konsola.Log („ID pracownik:”, empobj.empid);

W tym programie,

  • Początkowo stworzyliśmy obiekt o nazwie „EmpObj”.
  • Obiekt „EmpObj” ma jedną właściwość I.mi., „Empname”.
  • Następnie wykorzystaliśmy obiekt.Metoda zapobiegania FEXTENSIONS () do zablokowania „empobj”.
  • W następnym wierszu zmodyfikowaliśmy właściwość EMPName I.mi., Przypisaliśmy mu nową wartość „Dean Jones”.
  • Następnie próbowaliśmy dodać do EmpObj nową nazwę właściwości „empid”.
  • Na koniec drukowaliśmy oba właściwości za pomocą konsoli.Metoda log ().

Wyjście zweryfikowało, że istniejąca właściwość modyfikowana jest pomyślnie, jednak nowej właściwości nie można dodać do obiektu ograniczonego/zablokowanego.

Obiekt.foka()

Rozważmy poniżej podane punkty, aby uzyskać podstawowe zrozumienie obiektu.SEAL () Metoda:

  • Obiekt.Metoda Seal () ogranicza użytkownika do dodawania nowych metod lub właściwości.
  • Ogranicza użytkownika do usuwania istniejących metod i właściwości
  • Umożliwia użytkownikom dostęp do istniejących metod/właściwości.

Oto składnia obiektu.Metoda zapobiegania FEXTENSIONS ():

1
Obiekt.pieczęć (obj);

Poniższy blok kodu wyjaśni działanie obiektu.Seal () w JavaScript:

1
2
3
4
5
6
7
8
const empobj =
Empname: „Dean”
;
Usuń empobj.nazwa empnamentu;
empobj.empid = 12;
konsola.Log („Nazwa pracownika:”, empobj.nazwa empnamentu);
konsola.Log („ID pracownik:”, empobj.empid);
  • Wykorzystaliśmy obiekt.SEAL () Metoda zablokowania „empobj”.
  • W następnym wierszu próbowaliśmy usunąć właściwość EmpName.
  • Następnie próbowaliśmy dodać do EmpObj nową nazwę właściwości „empid”.
  • Na koniec drukowaliśmy oba właściwości za pomocą konsoli.Metoda log ().

Wyjście zweryfikowało działanie metody uszczelnienia () w JavaScript.

Obiekt.zamrażać()

Metoda Freeze () całkowicie zamraża obiekt. Poniższy punkt zapewni większą jasność na temat metody Freeze ():

  • Obiekt.Freeze () Metoda ogranicza użytkownika do dodawania nowych metod/właściwości.
  • Ogranicza użytkownika do usuwania istniejących metod i właściwości
  • Ogranicza użytkowników do dostępu do istniejących metod/właściwości.

Składnia obiektu.Metoda zapobiegania FEXTENSIONS () będzie taka:

1
Obiekt.Freeze (OBJ);

Rzućmy okiem na poniższy blok kodu, aby uzyskać podstawowe zrozumienie obiektu.Freeze () Metoda:

1
2
3
4
5
6
7
8
9
10
11
const empobj =
Empname: „Dean”
;
Obiekt.Freeze (empobj);
Usuń empobj.nazwa empnamentu;
empobj.empname = "Dean Jones";
empobj.empid = 12;
konsola.Log („Nazwa pracownika:”, empobj.nazwa empnamentu);
konsola.Log („ID pracownik:”, empobj.empid);
  • Wykorzystaliśmy obiekt.Freeze () metoda zablokowania „empobj”.
  • Następnie próbowaliśmy usunąć właściwość EmpName.
  • Następnie próbowaliśmy zmodyfikować istniejącą właściwość I.mi., Nazwa empn.
  • Następnie próbowaliśmy dodać do EmpObj nową nazwę właściwości „empid”.
  • Na koniec drukowaliśmy oba właściwości za pomocą konsoli.Metoda log ().

Wyjście zweryfikowało, że metoda Freeze () nie usunęła właściwości EMPName. Zwrócił oryginalną wartość właściwości zamiast zmodyfikowanej wartości. Ponadto nie dodał nowej właściwości „empid”.

Wniosek

JavaScript zapewnia wbudowane metody, które upewniają się, że nikt nie może celowo lub przypadkowo zmodyfikować funkcjonalność obiektu. Na przykład obiekt.Zapobieganie FEXTENSIONS (), obiekt.Metody Seal () Zapobiegaj obiektowi przed częściowymi modyfikacjami. Jednak metoda Freeze () całkowicie zamrozi obiekt. Ten zapis wyjaśnił trzy różne metody zapobiegania modyfikacjom obiektów w JavaScript.