Tipi di involucro primitivo JavaScript | Spiegato

Tipi di involucro primitivo JavaScript | Spiegato
Ogni volta che un valore primitivo viene letto in un programma, JavaScript crea automaticamente un oggetto per il tipo primitivo corrispondente noto come il tipo di involucro primitivo. Dopo aver creato il tipo di avvolgimento primitivo, JavaScript invoca il metodo specificato ed elimina immediatamente l'istanza dalla memoria. In questo modo, i valori primitivi sono considerati leggeri rispetto agli oggetti normali.

JavaScript offre tipi di avvolgimento primitivi per "corda","numero","booleano","bigint", E "simbolo"Tipi di dati, rendendo più semplice l'utilizzo di questi valori primitivi.

Questo articolo ha spiegato Tipi di involucro primitivo JavaScript, Ma prima, diamo un'occhiata ai tipi di dati primitivi.

Tipo di dati primitivi JavaScript

Tipi di dati primitivi sono i predefinito O incorporato Tipi di dati supportati dal linguaggio di programmazione JavaScript. Viene spesso indicato come il livello più basso di implementazione del linguaggio informatico.

I tipi di dati primitivi non possono né essere un oggetto né i metodi. Inoltre, i valori primitivi non possono essere modificati poiché lo sono "immutabile". Puoi riassegnare una variabile con un nuovo valore primitivo ma non alterare quello esistente.

JavaScript ha sette tipi di dati primitivi: numero, booleano, bigint, corda, simbolo, nullo, E non definito.

La sezione di seguito donata dimostrerà in dettaglio i tipi di dati primitivi.

Tipo di dati primitivi di stringa

In JavaScript, il "corda"Il tipo di dati primitivi è rappresentato dalla sequenza di caratteri aggiunti all'interno del singolo "o doppie citazioni "".

Esempio

let string1 = 'tipo di dati primitivi';
typeof string1;

Produzione

Numero Tipo di dati primitivi

Puoi utilizzare il "numero"Tipi di dati primitivi per l'archiviazione di valori decimali e non decimali in JavaScript.

Esempio

Sia numero1 = 090078601;
Typeof Number1;

Produzione

Tipo di dati primitivi di Bigint

"bigint" E "numero"I dati sono abbastanza simili; Tuttavia, Bigint ti consente di presentare i valori interi maggiori di (253). Per creare un valore di tipo di dati primitivo Bigint, "N"È allegato alla fine del numero nel modo seguente:

Esempio

let biginteger = 9999999999988872553627N;
Typeof Biginteger;

Produzione

Tipo di dati primitivi booleani

Javascript "booleano"Il tipo di dati primitivi comprende due valori: VERO O falso.

Esempio

booleanval = true;
typeof booleanval;

Produzione

Tipo di dati primitivi simbolo

"simbolo"È un valore di tipo di dati primitivo che può essere generato invocando il"Simbolo"Funzione, che restituisce un"unico" valore. La funzione simbolo accetta una descrizione della stringa come argomento che verrà stampato quando si recupera il valore del simbolo.

Esempio

Sia z = simbolo ("Abbiamo creato un valore di simbolo");
Tipo di z;

Produzione

Tipo di dati primitivi non definiti

IL "non definito"Il tipo di dati primitivi significa che una variabile è dichiarata ma non ancora definita.

Esempio

Lascia che y;
Tipo di y;

Produzione

Tipo di dati primitivi null

"nullo"È un tipo di dati che viene utilizzato per rappresentare"mancante" O "sconosciuto" valori. IL "tipo di"L'operatore ritorna"oggetto"Come il tipo di"nullo", ma ricorda, nullo è un valore primitivo, non un oggetto.

Esempio

Sia x = null;
Tipo di X;

Produzione

A questo punto, hai capito quali sono i tipi di dati primitivi; Ora impareremo il concetto alla base dell'accesso alle proprietà o ai metodi dei valori primitivi.

Classe wrapper primitiva javascript

I valori del tipo di dati primitivi possono essere manipolati usando la notazione dell'oggetto. A tale scopo, JavaScript ha definito le classi di oggetti corrispondenti per ciascuno dei valori primitivi, ad eccezione di "nullo" E "non definito". Queste classi avvolgenti primitive sono considerate "Wrapper"Intorno ai tipi di dati primitivi JavaScript.

Un altro punto importante da discutere è che le classi wrapper sono utilizzate per conservare lo stesso valore sia esternamente che internamente; Tuttavia, le istanze o gli oggetti delle classi wrapper rimarranno non prime in caso di dichiarazione di oggetti espliciti.

Oggetto wrapper primitivo JavaScript

Un JavaScript Oggetto wrapper primitivo comprende valori primitivi e fornisce inoltre metodi e proprietà per manipolare i valori.

Ad esempio, un “corda"Il valore primitivo viene utilizzato in un contesto dell'oggetto quando si accede alle proprietà o al metodo correlati. In questo caso, JavaScript genera internamente un primitivo "wrapper"Oggetto per quel tipo di avvolgimento primitivo stringa specifico. Quindi, il valore della stringa primitiva viene aggiunto nell'oggetto wrapper stringa creato, che ha i suoi metodi e proprietà. Questo oggetto wrapper creato automaticamente viene eliminato dopo aver invocato il metodo o la proprietà specificati.

Gli oggetti wrapper primitivi JavaScript possono anche essere creati manualmente usando "nuovo"Operatore. Questi oggetti wrapper rimangono nella memoria fino a quando il loro ambito non si spegne. Inoltre, gli oggetti avvolgenti primitivi creati manualmente sono del "oggetto" tipo.

Tipo di involucro primitivo JavaScript

L'oggetto wrapper JavaScript creato automaticamente viene definito "Tipo di involucro primitivo". JavaScript offre tipi di avvolgimento primitivi per "corda","numero","booleano","bigint", E "simbolo"Tipi di dati, rendendo più semplice l'utilizzo di questi valori primitivi.

Esempio: tipo di avvolgimento primitivo JavaScript

Nell'esempio seguente, il "lingua"La variabile contiene"JavaScript"Come suo valore di stringa primitiva. Questa variabile non ha accesso a "substring ()" metodo; Tuttavia, recupera ancora la sotto-corda dal valore primitivo specificato:

let lingua = 'javascript';
Sia str1 = linguaggio.substring (4);
console.log ('STR1 Wrapper Type è:' + typeof str1);
console.log (str1);

Produzione

Il codice di cui sopra funziona perfettamente, e ora devi chiederti come "lingua"La variabile ha invocato il"substring ()"Metodo che è associato alla classe stringa?

La risposta a questa domanda è che ogni volta che chiami un metodo con un valore primitivo; JavaScript crea automaticamente un "oggetto"Secondo il corrispondente tipo di dati primitivi,"corda". Successivamente, invoca il metodo specificato con l'aiuto dell'istanza creata e quindi elimina immediatamente l'istanza dalla memoria.

Quindi tecnicamente, il nostro programma eseguito è equivalente a questo codice:

let lingua = 'javascript';
// Quando lingua.La sottostringa (4) è invocata;
let tmp = new String (lingua);
str1 = tmp.substring (4);
console.log (str1);
tmp = null;

L'esecuzione del programma di cui sopra mostrerà anche lo stesso output:

Ora, diamo un'occhiata alla differenza tra Oggetto wrapper primitivo manuale E Oggetto wrapper primitivo automatico (tipo di avvolgimento primitivo).

Oggetto wrapper primitivo manuale vs oggetto wrapper primitivo automatico

Come accennato in precedenza, JavaScript ti consente di creare manualmente oggetti avvolgenti primitivi usando il nuovo operatore. A differenza dei tipi di avvolgimento primitivo, gli oggetti creati manualmente rimangono nella memoria fino a quando questi oggetti non escono dall'ambito.

Esempio: oggetto wrapper primitivo manuale vs oggetto wrapper primitivo automatico

Nell'esempio seguente, creeremo un oggetto wrapper primitivo manuale chiamato "STR1" usando il "nuovo"Operatore e Corda() costruttore di classe wrapper:

let str1 = new string ('javascript');
console.log (typeof str1);
console.log (str1);

Dato l'output significa che abbiamo creato con successo un "oggetto" avendo "Corda"Prototipo che memorizzava"JavaScript"Come valore stringa primitivo:

Considerando che, nel caso del tipo di avvolgimento primitivo creativo automaticamente o del tipo di avvolgimento primitivo, l'ambito è limitato a una singola proprietà e metodo invocati:

let str1 = 'javascript';
STR1.lingua = 'es6';
console.registro (str1.lingua);

Qui, prima abbiamo creato una variabile "STR1"Con un valore primitivo di stringa"JavaScript"Nell'esempio sopra. Dopo aver letto il valore primitivo, JavaScript genera un nuovo oggetto primitivo o tipo di avvolgimento primitivo per "STR1". Successivamente, il "STR1.lingua = 'es6'"Il comando cerca di accedere alla proprietà della lingua del"STR1"String e assegna il valore ad esso.

IL "lingua"La proprietà esiste nella memoria fino a questo punto. Pertanto, l'output è restituito "non definito"Invece del valore memorizzato in"STR1.lingua"Quando viene eseguita la riga successiva:

Abbiamo compilato tutte le informazioni essenziali relative al Tipi di involucro primitivo E oggetti primitivi In JavaScript.

Conclusione

JavaScript offre tipi di avvolgimento primitivi per "corda","numero","booleano","bigint", E "simbolo"Tipi di dati, rendendo più semplice l'utilizzo di questi valori primitivi. I tipi di avvolgimento primitivo vengono anche chiamati oggetti wrapper primitivi creati automaticamente in quanto vengono creati automaticamente quando il motore JavaScript legge qualsiasi valore primitivo e questi oggetti vengono immediatamente eliminati dopo aver invocato il metodo o la proprietà specificati. Questo articolo ha spiegato Tipi di involucro primitivo JavaScript con l'aiuto di esempi adatti.