Zmienione i niezmienne dane w JavaScript

Zmienione i niezmienne dane w JavaScript
Termin pocielesność oznacza zmienna; Pojęcie zmienności można zastosować tylko do obiektów i tablic w JavaScript. Koncepcji MUTABIBABIBABI klient klient klientów klientów prymitywnych, takich jak ciąg, boolean, liczba itp. Podczas gdy niezmienne dane odnoszą się do prymitywnych danych, których stanu nie można zmienić. W tym poście zrozumiemy różnicę między zmiennymi danymi a niezmiennymi danymi za pomocą niektórych przykładów.

Przed udaniem się w kierunku zmiennych lub niezmiennych danych, początkowo musimy wyjaśnić koncepcję przechowywania danych w zmiennych JavaScript. Zmienne w JavaScript są w stanie przechowywać dwa typy wartości prymitywne lub typu odniesienia.

Ogółem siedem prymitywnych typów danych jest dostępnych w JavaScript, podczas gdy istnieją trzy typy danych referencyjnych. Główną różnicą między nimi polega na tym, że w pierwotnym typie danych pamięć jest przydzielana w stosie, podczas gdy w danych odniesienia pamięć jest przydzielana w stercie. Krótko mówiąc, prymitywny typ danych jest podstawowym typem danych, podczas gdy typ danych odniesienia jest obiektem złożonym z kilku funkcji, a obiekty te są przekazywane jako odniesienie.

Zmienione dane w JavaScript

Zmienne obiekty mogą być modyfikowane lub zmienione po ich utworzeniu, ale musi pamiętać, że obiekt może mieć dwa odniesie. Tak więc wiele referencji dla jednego obiektu i dwóch obiektów o podobnych cechach to dwie różne rzeczy.

Wdrożenie zmiennych danych w JavaScript

Rozważmy przykład, aby zrozumieć zmienność w JavaScript.

Niech pracownik1 = Nazwa: „Joe Clarke”, wiek: 35, ID: 123, miasto: „London”;
niech pracownik2 = pracownik1;
Niech pracownik3 = nazwa: „Joe Denly”, wiek: 25, ID: 121, miasto: „Birmingham”;
konsola.log („Sprawdź, czy pracownik1 = pracownik2”, pracownik1 === Pracownik2);
konsola.log („Sprawdź, czy pracownik1 = pracownik3”, pracownik1 === Pracownik3);

Stworzyliśmy obiekt nazwany „Pracownik 1” i przypisałem mu niektóre właściwości, w drugim wierszu utworzyliśmy zmienną „Pracownik2” i przypisał to zmienną „Pracownik 1” co oznacza „pracownik2„Miałby te same właściwości jak „Pracownik 1”.

Następnie tworzymy inną zmienną o nazwie „Pracownik 3” i przypisujemy mu różne właściwości.

Na koniec sprawdziliśmy, czy „Pracownik2” I „Pracownik 3” ma te same właściwości co „Pracownik 1” albo nie.

Wyjście powyższego kodu będzie:

Zobaczmy teraz, co się stanie, jeśli zmienimy wartość „pracownika 1”, wpłynie to na nieruchomości „pracownika2”?

Zmodyfikujmy nasz kod:

Niech pracownik1 = Nazwa: „Joe Clarke”, wiek: 35, ID: 123, miasto: „London”;
niech pracownik2 = pracownik1;
Pracownik 1.name = "Dean Elgar";
konsola.log („Zaktualizowane wartości pracownika 1:”, pracownika 1);
konsola.log („zaktualizowane wartości pracownika2:”, pracownika2);

Sprawdźmy, czy wpływa to na nazwę własności pracownika2, czy nie.

Dane wyjściowe dla naszego zmodyfikowanego kodu będzie:

Z powyższego wyjścia możemy zobaczyć, że zmiany, które wprowadzamy na własność „Pracownik 1”Wpłynęło na wartość„pracownik2" również. Dzieje się tak, ponieważ „pracownik2”Został stworzony z odniesieniem „Pracownik 1”.

Niezmienne dane w JavaScript

Niezmienność odnosi się do prymitywnych wartości, takich jak ciąg, lub liczba itp., W JavaScript nie możemy ich zmodyfikować, ale możemy je przekazać za pomocą niektórych nowych wartości.

Wdrożenie niezmiennych danych w JavaScript

Poniższy przykład pomoże ci zrozumieć niezmienne typy danych.

var pracowników1 = „Daniel”;
var employe2 = pracownika1;
konsola.log („Nazwa pierwszego pracownika:”, pracownik 1);
konsola.log („Nazwa drugiego pracownika:”, pracownika2);

Utworzyliśmy zmienną i przypisaliśmy jej wartość. Następnie utworzyliśmy inną zmienną i przypisaliśmy ją pierwszą zmienną, jak wyróżniono na poniższym zrzucie ekranu.

Teraz zbadajmy dane wyjściowe, zobaczysz, że obie zmienne pokazują to samo wyjście:

Teraz zmień wartość „Pracownik 1”I obserwuj, czy zmieni wartość„pracownik2”Również lub pozostań taki sam:

var pracowników1 = „Daniel”;
var employe2 = pracownika1;
konsola.log („Nazwa pierwszego pracownika:”, pracownik 1);
konsola.log („Nazwa drugiego pracownika:”, pracownika2);
var employe1 = „Bryn”;
konsola.dziennik („Zaktualizowana nazwa 1. pracownika:”, pracownik 1);
konsola.dziennik („Zaktualizowana nazwa 2. pracownika:”, pracownika2);

Teraz obserwuj wyjście:

Przykład wyjaśnia, że ​​kiedy zmieniamy wartość Pracownik 1, nie wpływa na wartość drugiej zmiennej, co oznacza, że ​​JavaScript traktuje obie z nich jako oddzielne zmienne.

Wniosek

Zmienne dane mogą być modyfikowane w dowolnym momencie, podczas gdy niezmienne dane są sprzeczne z zmiennymi danymi, ponieważ nie można ich zmienić. W tym poście wyjaśniliśmy różnicę między prymitywnymi typami danych a typami referencyjnymi. Następnie zrozumieliśmy ideę zmiennych i niezmiennych danych, w tym celu wzięliśmy kilka przykładów i wdrożyliśmy je w JavaScript. Wreszcie możemy stwierdzić, że jeśli zmienimy wartość zmiennej odniesienia, muto to również pierwotna wartość, ale zmienna prymitywna nie zmutuje.