JavaScript primitive innpakningstyper | Forklart

JavaScript primitive innpakningstyper | Forklart
Hver gang en primitiv verdi leses i et program, oppretter JavaScript automatisk et objekt for den tilsvarende primitive typen kjent som den primitive innpakningstypen. Etter å ha opprettet den primitive innpakningstypen, påkaller JavaScript den spesifiserte metoden og sletter umiddelbart forekomsten fra minnet. På denne måten regnes primitive verdier som lette sammenlignet med vanlige objekter.

JavaScript tilbyr primitive innpakningstyper for “streng”,“Antall”,“boolsk”,“Bigint”, Og“symbol”Datatyper, noe som gjør det lettere å bruke disse primitive verdiene.

Denne oppskrivningen forklarte JavaScript primitive innpakningstyper, Men før det, la oss se på de primitive datatypene.

JavaScript primitiv datatype

Primitive datatyper er forhåndsdefinert eller innebygd Datatyper støttet av JavaScript -programmeringsspråket. Det blir ofte referert til som det laveste nivået av en dataspråkimplementering.

De primitive datatypene kan verken være et objekt eller metoder. Primitive verdier kan heller ikke endres siden de er "Uforanderlig“. Du kan tilordne en variabel med en ny primitiv verdi, men ikke endre den eksisterende.

JavaScript har syv primitive datatyper: Antall, boolsk, Bigint, streng, symbol, null, og udefinert.

Den undergitte delen vil demonstrere de primitive datatypene i detalj.

Streng primitiv datatype

I JavaScript, "streng”Primitiv datatype er representert av sekvensen av tegn lagt til i singelen ""eller doble sitater "".

Eksempel

La streng1 = 'primitiv datatype';
type av streng1;

Produksjon

Antall primitiv datatype

Du kan bruke "Antall”Primitive datatyper for lagring av desimaler og ikke-desimale verdier i JavaScript.

Eksempel

La nummer1 = 090078601;
type av nummer1;

Produksjon

Bigint primitiv datatype

Bigint”Og“Antall”Data er ganske like; Bigint tillater deg imidlertid å presentere heltallverdiene større enn (253). Å lage en Bigint -primitiv datatypeverdi, “n”Legges ved slutten av tallet på følgende måte:

Eksempel

La BigInteger = 9999999999988872553627N;
type av BigInteger;

Produksjon

Boolsk primitiv datatype

JavaScript “boolsk”Primitiv datatype omfatter to verdier: ekte eller falsk.

Eksempel

BooleanVal = True;
type av booleanval;

Produksjon

Symbol primitiv datatype

symbol”Er en primitiv datatypeverdi som kan genereres ved å påkalle“Symbol”Funksjon, som returnerer en“unik”Verdi. Symbolfunksjonen godtar en strengbeskrivelse som et argument som vil bli skrevet ut når du henter symbolverdien.

Eksempel

La z = symbol ("Vi har laget en symbolverdi");
type av z;

Produksjon

Udefinert primitiv datatype

udefinert”Primitiv datatype betyr at en variabel er erklært, men ikke definert ennå.

Eksempel

La y;
type av y;

Produksjon

Null primitiv datatype

null”Er en datatype som brukes til å representere“savnet”Eller“ukjent”Verdier. “typeof”Operatøren returnerer”gjenstand”Som typen“null", men husk, null er en primitiv verdi, ikke et objekt.

Eksempel

La x = null;
type av x;

Produksjon

På dette tidspunktet har du forstått hva primitive datatyper er; Nå vil vi lære om konseptet bak tilgang til egenskaper eller metoder for primitive verdier.

JavaScript primitiv innpakningsklasse

Primitive datatypeverdier kan manipuleres ved hjelp av objektnotasjon. For dette formålet har JavaScript definert tilsvarende objektklasser for hver av de primitive verdiene, bortsett fra “null”Og“udefinert”. Disse primitive innpakningsklassene blir vurdert "innpakning”Rundt JavaScript primitive datatyper.

Et annet viktig poeng å diskutere er at innpakningsklassene brukes til lagring av samme verdi både eksternt og internt; Imidlertid vil forekomstene eller objektene til innpakningsklassene forbli ikke-primitive i tilfelle eksplisitt objektserklæring.

JavaScript primitivt innpakningsobjekt

Et JavaScript Primitivt innpakningsobjekt omfatter primitive verdier, og gir i tillegg metoder og egenskaper for å manipulere verdiene.

For eksempel en "streng”Primitiv verdi brukes i en objektkontekst når du får tilgang til dens relaterte egenskaper eller metode. I dette tilfellet genererer JavaScript internt en primitiv “innpakning”Objekt for den spesifikke strengen Primitive Wrapper Type. Deretter blir den primitive strengverdien lagt til i det opprettede strengavslutningsobjektet, som har sine metoder og egenskaper. Dette automatisk opprettede innpakningsobjektet blir slettet etter å ha påkalt den spesifiserte metoden eller egenskapen.

JavaScript primitive innpakningsobjekter kan også opprettes manuelt ved hjelp av "ny”Operatør. Disse innpakningsobjektene holder seg i minnet til omfanget deres går ut. Også de manuelt opprettede primitive innpakningsobjektene er av "gjenstand”Type.

JavaScript primitiv innpakningstype

Det automatisk opprettet JavaScript -skriptinnpakningsobjektet blir referert til som "Primitiv innpakningstype”. JavaScript tilbyr primitive innpakningstyper for “streng”,“Antall”,“boolsk”,“Bigint”, Og“symbol”Datatyper, noe som gjør det lettere å bruke disse primitive verdiene.

Eksempel: JavaScript primitiv innpakningstype

I det undergitte eksemplet "Språk”Variabel inneholder”JavaScript”Som dens primitive strengverdi. Denne variabelen har ikke tilgang til "substring ()”Metode; Imidlertid henter den fortsatt understrengen fra den spesifiserte primitive verdien:

La språk = 'JavaScript';
La str1 = språk.substring (4);
konsoll.Logg ('STR1 innpakningstype er:' + typeof str1);
konsoll.logg (STR1);

Produksjon

Den ovennevnte koden fungerer perfekt, og nå må du lure på hvordan "Språk”Variabel påkalte“substring ()”Metode som er assosiert med strengklassen?

Svaret på dette spørsmålet er at når du ringer en metode med en primitiv verdi; JavaScript oppretter automatisk en "gjenstand”I henhold til den tilsvarende primitive datatypen,“streng“. Etter det påkaller den den spesifiserte metoden ved hjelp av den opprettede forekomsten og sletter deretter forekomsten umiddelbart fra minnet.

Så teknisk sett tilsvarer vårt utførte program denne koden:

La språk = 'JavaScript';
// Når språk.Substring (4) påberopes;
La TMP = ny streng (språk);
STR1 = TMP.substring (4);
konsoll.logg (STR1);
tmp = null;

Utførelse av det ovennevnte programmet vil også vise samme utgang:

La oss nå sjekke ut forskjellen mellom Manuell primitiv innpakningsobjekt og Automatisk primitiv innpakningsobjekt (primitiv innpakningstype).

Manuell primitiv innpakningsobjekt vs automatisk primitivt innpakningsobjekt

Som nevnt tidligere tillater JavaScript deg å lage primitive innpakningsobjekter manuelt ved hjelp av ny operatør. I motsetning til primitive innpakningstyper, forblir manuelt gjenstander i minnet til disse objektene går ut av omfang.

Eksempel: Manuell primitivt innpakningsobjekt vs automatisk primitivt innpakningsobjekt

I det undergitte eksemplet vil vi lage et manuelt primitivt innpakningsobjekt som heter “STR1" bruker "ny”Operatør og Streng () Innpakningsklassekonstruktør:

La str1 = ny streng ('JavaScript');
konsoll.logg (typeof str1);
konsoll.logg (STR1);

Gitt utgang betyr at vi har laget en "gjenstand”Å ha“Streng”Prototype som lagret”JavaScript”Som dens primitive strengverdi:

Mens for automatisk opprettet primitivt innpakningsobjekt eller primitiv innpakningstype, er omfanget begrenset til en enkelt påkalt egenskap og metode:

La str1 = 'JavaScript';
STR1.språk = 'es6';
konsoll.Logg (STR1.Språk);

Her opprettet vi først en variabel “STR1”Med en streng primitiv verdi”JavaScript”I eksemplet ovenfor. Etter å ha lest den primitive verdien, genererer JavaScript et nytt streng primitivt objekt eller primitiv innpakningstype for "STR1“. Neste, “STR1.språk = 'ES6'”Kommando prøver å få tilgang til språkegenskapen til“STR1”Streng og tilordne verdi til det.

Språk”Eiendom eksisterer i minnet til dette punktet. Derfor har produksjonen kommet tilbake “udefinert”I stedet for verdien som er lagret i“STR1.Språk”Når neste linje utføres:

Vi har samlet all den essensielle informasjonen relatert til Primitive innpakningstyper og Primitive objekter i JavaScript.

Konklusjon

JavaScript tilbyr primitive innpakningstyper for “streng”,“Antall”,“boolsk”,“Bigint”, Og“symbol”Datatyper, noe som gjør det lettere å bruke disse primitive verdiene. De primitive innpakningstypene kalles også automatisk opprettet primitive innpakningsobjekter, da de automatisk opprettes når JavaScript -motoren leser enhver primitiv verdi, og disse objektene blir umiddelbart slettet etter å ha påkalt den spesifiserte metoden eller egenskapen. Denne oppskrivningen forklarte JavaScript primitive innpakningstyper ved hjelp av passende eksempler.