JavaScript Prymitywne typy opakowań | Wyjaśnione

JavaScript Prymitywne typy opakowań | Wyjaśnione
Ilekroć w programie jest odczytywana prymitywna, JavaScript automatycznie tworzy obiekt dla odpowiedniego typu prymitywnego znanego jako Prymitywny typ opakowania. Po utworzeniu prymitywnego typu opakowania JavaScript wywołuje określoną metodę i natychmiast usuwa instancję z pamięci. W ten sposób prymitywne wartości są uważane za lekkie w porównaniu do zwykłych obiektów.

JavaScript oferuje prymitywne typy opakowań dla „strunowy”,„numer”,„Boolean”,„Bigint", I "symbol”Rodzaje danych, ułatwiając korzystanie z tych prymitywnych wartości.

Ten napis wyjaśnił JavaScript Prymitywne typy opakowań, Ale wcześniej spójrzmy na prymitywne typy danych.

JavaScript Primitive Data Typ

Prymitywne typy danychpredefiniowane Lub wbudowany Typy danych obsługiwane przez język programowania JavaScript. Jest często określany jako najniższy poziom implementacji języka komputerowego.

Prymitywne typy danych mogą nie być obiektem, ani metodami. Ponadto prymitywne wartości nie mogą być modyfikowane, ponieważ są „one”niezmienny". Możesz ponownie przypisać zmienną o nowej wartości prymitywnej, ale nie zmieniać istniejącej.

JavaScript ma siedem prymitywnych typów danych: numer, Boolean, Bigint, strunowy, symbol, zero, I nieokreślony.

Poniższa sekcja szczegółowo pokaże prymitywne typy danych.

String prymitywny typ danych

W JavaScript „The„strunowy„Prymitywny typ danych jest reprezentowany przez sekwencję znaków dodanych w pojedynczym "lub podwójne cytaty ”„.

Przykład

Niech String1 = „Prymitywne typ danych”;
typeof string1;

Wyjście

Numer prymitywny typ danych

Możesz użyć „numer„Prymitywne typy danych do przechowywania wartości dziesiętnych i nie-decymalnych w JavaScript.

Przykład

Niech numer1 = 090078601;
TypeOf Number1;

Wyjście

Bigint Prymitywne typ danych

"Bigint" I "numer„Dane są dość podobne; Jednak BigINT pozwala przedstawić wartości liczb całkowitych większe niż (253). Aby utworzyć wartość typu Bigint Prymityw, „N”Jest dołączane na końcu liczby w następujący sposób:

Przykład

Niech bigInteger = 999999999999888872553627n;
Typeof BigInteger;

Wyjście

Boolean Primitive Data typ

JavaScript „Boolean„Prymitywny typ danych obejmuje dwie wartości: PRAWDA Lub FAŁSZ.

Przykład

booleanval = true;
Typeof Booleanval;

Wyjście

Symbol prymitywny typ danych

"symbol”To prymitywna wartość typu danych, którą można wygenerować, wywołując„Symbol„Funkcja, która zwraca„unikalny" wartość. Funkcja symbolu akceptuje opis ciągu jako argument, który zostanie wydrukowany po odzyskaniu wartości symbolu.

Przykład

niech z = symbol („Utworzyliśmy wartość symboli”);
Typeof z;

Wyjście

Nieokreślony prymitywny typ danych

„„nieokreślony”Prymitywny typ danych oznacza, że ​​zmienna jest zadeklarowana, ale jeszcze nie zdefiniowana.

Przykład

Niech y;
typ y;

Wyjście

NULL PRIMITIVE DANY

"zero”To typ danych używany do reprezentowania„zaginiony" Lub "nieznany”Wartości. „„typ„Operator zwraca”obiekt”Jako rodzaj„zero", ale pamiętaj, zero to prymitywna wartość, a nie obiekt.

Przykład

Niech x = null;
Typeof X;

Wyjście

W tym momencie zrozumiałeś, jakie są prymitywne typy danych; Teraz dowiemy się o koncepcji dostępu do właściwości lub metod prymitywnych wartości.

JavaScript Prymitywna klasa opakowań

Prymitywne wartości typu danych można manipulować za pomocą notacji obiektu. W tym celu JavaScript zdefiniował odpowiednie klasy obiektów dla każdej z prymitywnych wartości, z wyjątkiem „zero" I "nieokreślony". Te prymitywne zajęcia opakowania są uważane za „Opakowania„Wokół prymitywnych typów danych JavaScript.

Innym ważnym punktem do omówienia jest to, że klasy opakowania są wykorzystywane do przechowywania tej samej wartości zarówno zewnętrznie, jak i wewnętrznie; Jednak instancje lub obiekty klas opakowania pozostaną niemożliwe w przypadku wyraźnej deklaracji obiektu.

JavaScript Primitive Obiekt opakowania

JavaScript Prymitywny obiekt opakowania zawiera prymitywne wartości i dodatkowo zapewnia metody i właściwości manipulowania wartościami.

Na przykład „A”strunowy„Wartość prymitywna jest wykorzystywana w kontekście obiektu przy uzyskiwaniu się do jego powiązanych właściwości lub metody. W tym przypadku JavaScript wewnętrznie generuje prymitywne „obwoluta„Obiekt dla tego określonego ciągu prymitywnego opakowania. Następnie prymitywna wartość ciągu jest dodawana w utworzonym obiekcie opakowania ciągów, który ma swoje metody i właściwości. Ten automatycznie utworzony obiekt opakowania jest usuwany po wywołaniu określonej metody lub właściwości.

JavaScript Prymitywne obiekty opakowania można również tworzyć ręcznie za pomocą „nowy„Operator. Te obiekty opakowania pozostają w pamięci, dopóki ich zakres nie wyjdzie. Ponadto ręcznie utworzone prymitywne obiekty opakowania są z „obiekt" typ.

JavaScript Primitive Of. Rodzaj opakowania

Automatycznie utworzony obiekt opakowania skryptu JavaScript jest określany jako „Prymitywny typ opakowania". JavaScript oferuje prymitywne typy opakowań dla „strunowy”,„numer”,„Boolean”,„Bigint", I "symbol”Rodzaje danych, ułatwiając korzystanie z tych prymitywnych wartości.

Przykład: JavaScript Primitive Oprippe

W poniższym przykładzie „„język„Zmienna zawiera”JavaScript”Jako jego prymitywna wartość ciągu. Ta zmienna nie ma dostępu do „substring ()" metoda; Nadal jednak pobiera sub-drenację z określonej wartości prymitywnej:

niech język = „javascript”;
Niech Str1 = język.podłoże (4);
konsola.Log („typ owijania STR1 to: ' + typeof str1);
konsola.log (str1);

Wyjście

Powyższy kod działa idealnie, a teraz musisz się zastanawiać, jak „język„Zmienna wywołała„substring ()„Metoda powiązana z klasą string?

Odpowiedź na to pytanie brzmi, że za każdym razem, gdy wywołujesz metodę o wartości prymitywnej; JavaScript automatycznie tworzy „obiekt”Według odpowiedniego pierwotnego typu danych„strunowy". Następnie wywołuje określoną metodę za pomocą utworzonej instancji, a następnie natychmiast usuwa instancję z pamięci.

Tak więc technicznie nasz program wykonany jest równoważny temu kodowi:

niech język = „javascript”;
// kiedy język.Wywoływany jest podaj (4);
niech tmp = nowy ciąg (język);
str1 = tmp.podłoże (4);
konsola.log (str1);
tmp = null;

Wykonanie powyższego programu wyświetli również to samo wyjście:

Teraz sprawdźmy różnicę między Ręczny prymitywny obiekt opakowania I Automatyczny obiekt prymitywnego opakowania (typ owijający się).

Ręczny obiekt prymitywnego opakowania vs automatyczny obiekt prymitywnego opakowania

Jak wspomniano wcześniej, JavaScript pozwala ręcznie tworzyć prymitywne obiekty opakowania za pomocą nowy operator. W przeciwieństwie do prymitywnych typów opakowań, ręcznie utworzone obiekty pozostają w pamięci, dopóki obiekty te nie zgadzają się.

Przykład: Ręczny obiekt prymitywnego opakowania vs automatyczny prymitywny obiekt opakowania

W poniższym przykładzie utworzymy manualny obiekt prymitywnego opakowania o nazwie „str1" używając "nowy”Operator i Strunowy() Konstruktor klas opakowania:

LET STR1 = nowy ciąg („JavaScript”);
konsola.log (typeof str1);
konsola.log (str1);

Biorąc pod uwagę wyjście, oznacza, że ​​pomyślnie stworzyliśmy „obiekt„Posiadanie„Strunowy„Prototyp, który przechowywał”JavaScript”Jako jego prymitywna wartość ciągu:

Podczas gdy w przypadku automatycznie utworzonego prymitywnego obiektu opakowania lub prymitywnego typu opakowania zakres jest ograniczony do jednej wywołanej właściwości i metody:

niech str1 = „javascript”;
str1.Language = 'es6';
konsola.log (str1.język);

Tutaj najpierw stworzyliśmy zmienną „str1”Z wartością prymitywną ciągu„JavaScript”W powyższym przykładzie. Po przeczytaniu prymitywnej wartości JavaScript generuje nowy obiekt prymitywnego ciągu lub prymitywne typu opakowania dla „str1". Następnie „str1.Language = 'es6'„Polecenie próbuje uzyskać dostęp do właściwości językowej„str1”Ciąg i przypisz do niego wartość.

„„język„Własność istnieje w pamięci do tego momentu. Dlatego wyjście powróciło „nieokreślony”Zamiast wartości przechowywanej w„str1.język”Po wykonaniu następnego wiersza:

Opracowaliśmy wszystkie podstawowe informacje związane z Prymitywne typy opakowań I Prymitywne obiekty W JavaScript.

Wniosek

JavaScript oferuje prymitywne typy opakowań dla „strunowy”,„numer”,„Boolean”,„Bigint", I "symbol”Rodzaje danych, ułatwiając korzystanie z tych prymitywnych wartości. Prymitywne typy opakowań są również nazywane automatycznie tworzonymi prymitywnymi obiektami opakowania, ponieważ są one automatycznie tworzone, gdy silnik JavaScript odczytuje dowolną wartość prymitywną, a obiekty te zostaną natychmiast usunięte po wywołaniu określonej metody lub właściwości. Ten napis wyjaśnił JavaScript Prymitywne typy opakowań za pomocą odpowiednich przykładów.