Types de wrapper primitifs JavaScript | Expliqué

Types de wrapper primitifs JavaScript | Expliqué
Chaque fois qu'une valeur primitive est lue dans un programme, JavaScript crée automatiquement un objet pour le type primitif correspondant appelé Le type d'emballage primitif. Après avoir créé le type de wrapper primitif, JavaScript invoque la méthode spécifiée et supprime immédiatement l'instance de la mémoire. De cette façon, les valeurs primitives sont considérées comme légères par rapport aux objets ordinaires.

JavaScript propose des types de wrapper primitifs pour le «chaîne","nombre","booléen","grand", et "symbole»Types de données, ce qui facilite l'utilisation de ces valeurs primitives.

Cet article a expliqué Types de wrapper primitifs javascript, Mais avant cela, regardons les types de données primitives.

Type de données primitives JavaScript

Types de données primitives sont les prédéfini ou intégré Types de données pris en charge par le langage de programmation JavaScript. Il est fréquemment appelé le niveau le plus bas d'une implémentation en langage informatique.

Les types de données primitifs ne peuvent ni être un objet ni les méthodes. De plus, les valeurs primitives ne peuvent pas être modifiées car elles sont «immuable". Vous pouvez réaffecter une variable avec une nouvelle valeur primitive, mais ne pas modifier celle existante.

JavaScript a sept types de données primitives: nombre, booléen, grand, chaîne, symbole, nul, et indéfini.

La section ci-dessous démontrera les types de données primitives en détail.

Type de données primitives de chaîne

En JavaScript, le «chaîne»Le type de données primitif est représenté par la séquence de caractères ajoutée dans le single "ou Double Citations "".

Exemple

Soit String1 = 'Primitive Data Type';
typeof string1;

Sortir

Numéro Type de données primitives

Vous pouvez utiliser le «nombre»Types de données primitives pour stocker des valeurs décimales et non décimales en JavaScript.

Exemple

Soit Number1 = 090078601;
typeof numéro1;

Sortir

Type de données primitives BigInt

"grand" et "nombre«Les données sont assez similaires; Cependant, BigInt vous permet de présenter les valeurs entières supérieures à (253). Pour créer une valeur de type de données primitif BigInt, "n»Est annexé à la fin du numéro de la manière suivante:

Exemple

Laissez BigInteger = 99999999999988872553627N;
Typeof BigInteger;

Sortir

Type de données primitives booléennes

Javascript "booléen»Le type de données primitif comprend deux valeurs: vrai ou FAUX.

Exemple

booleanval = true;
typeof booleanval;

Sortir

Type de données primitives du symbole

"symbole"Est une valeur de type de données primitive qui peut être générée en invoquant le"Symbole”Fonction, qui renvoie un«unique" valeur. La fonction symbole accepte une description de chaîne comme un argument qui sera imprimé lorsque vous récupérez la valeur du symbole.

Exemple

Soit Z = symbole ("Nous avons créé une valeur de symbole");
typeof z;

Sortir

Type de données primitives non définies

Le "indéfini»Le type de données primitif signifie qu'une variable est déclarée mais non définie.

Exemple

Laissez y;
typeof y;

Sortir

Type de données primitives null

"nul"Est un type de données qui est utilisé pour représenter"manquant" ou "inconnu" valeurs. Le "Type de"L'opérateur revient"objet"Comme le type de"nul", mais rappelles-toi, nul est une valeur primitive, pas un objet.

Exemple

Soit x = null;
typeof x;

Sortir

À ce stade, vous avez compris quels sont les types de données primitifs; Maintenant, nous allons apprendre le concept derrière l'accès aux propriétés ou aux méthodes de valeurs primitives.

Classe de wrapper primitive javascript

Les valeurs de type de données primitives peuvent être manipulées à l'aide de la notation de l'objet. À cette fin, JavaScript a défini des classes d'objets correspondantes pour chacune des valeurs primitives, sauf pour «nul" et "indéfini". Ces cours de wrapper primitifs sont considérés comme «emballages”Autour des types de données primitives JavaScript.

Un autre point important à discuter est que les classes d'emballage sont utilisées pour stocker la même valeur à la fois en externe et en interne; Cependant, les instances ou les objets des classes d'emballage resteront non primitives en cas de déclaration d'objets explicites.

Objet de wrapper primitif javascript

Un javascript objet d'emballage primitif comprend des valeurs primitives, et il fournit en outre des méthodes et des propriétés pour manipuler les valeurs.

Par exemple, un «chaîne«La valeur primitive est utilisée dans un contexte d'objet lors de l'accès à ses propriétés ou méthode connexes. Dans ce cas, JavaScript génère en interne une primitive «emballage”Objet pour ce type de wrapper primitif de chaîne spécifique. Ensuite, la valeur de chaîne primitive est ajoutée dans l'objet de wrapper de chaîne créé, qui a ses méthodes et ses propriétés. Cet objet wrapper créé automatiquement est supprimé après avoir invoqué la méthode ou la propriété spécifiée.

Les objets de wrapper primitifs JavaScript peuvent également être créés manuellement en utilisant le «nouveau»Opérateur. Ces objets enveloppants restent dans la mémoire jusqu'à ce que leur portée s'éteint. De plus, les objets en wrapper primitifs créés manuellement sont le «objet" taper.

Type de wrapper primitif javascript

L'objet de wrapper de script JavaScript créé automatiquement est appelé «Type d'emballage primitif". JavaScript propose des types de wrapper primitifs pour le «chaîne","nombre","booléen","grand", et "symbole»Types de données, ce qui facilite l'utilisation de ces valeurs primitives.

Exemple: Type d'emballage primitif javascript

Dans l'exemple ci-dessous, le «langue"La variable contient"Javascrip«Comme sa valeur de chaîne primitive. Cette variable n'a pas accès au «substring ()" méthode; Cependant, il récupère toujours la sous-chaîne à partir de la valeur primitive spécifiée:

Soit Language = 'JavaScript';
Soit str1 = langue.sous-chaîne (4);
console.Log ('Str1 Wrapper Type est:' + typeof str1);
console.journal (str1);

Sortir

Le code donné ci-dessus fonctionne parfaitement, et maintenant vous devez vous demander comment le «langue«La variable a invoqué le«substring ()”Méthode qui est associée à la classe de chaîne?

La réponse à cette question est que chaque fois que vous appelez une méthode avec une valeur primitive; JavaScript crée automatiquement un «objet"Selon le type de données primitif correspondant,"chaîne". Après cela, il invoque la méthode spécifiée à l'aide de l'instance créée, puis supprime immédiatement l'instance de mémoire.

Donc, techniquement, notre programme exécuté est équivalent à ce code:

Soit Language = 'JavaScript';
// Quand la langue.La sous-chaîne (4) est invoquée;
Soit tmp = new String (Language);
str1 = tmp.sous-chaîne (4);
console.journal (str1);
tmp = null;

L'exécution du programme ci-dessus affichera également la même sortie:

Maintenant, vérifions la différence entre Objet de wrapper primitif manuel et Objet d'emballage primitif automatique (type d'emballage primitif).

Objet de wrapper primitif manuel vs objet de wrapper primitif automatique

Comme mentionné précédemment, JavaScript vous permet de créer manuellement des objets de wrapper primitifs en utilisant le nouveau opérateur. Contrairement aux types de wrapper primitifs, les objets créés manuellement restent dans la mémoire jusqu'à ce que ces objets sortent de la portée.

Exemple: objet de wrapper primitif manuel vs objet de wrapper primitif automatique

Dans l'exemple ci-dessous, nous créerons un objet de wrapper primitif manuel nommé "str1" en utilisant le "nouveau»Opérateur et Chaîne() Constructeur de classe en wrapper:

Soit str1 = new String ('JavaScript');
console.journal (typeof str1);
console.journal (str1);

La sortie étant donné signifie que nous avons créé avec succès un «objet" ayant "Chaîne"Prototype qui a stocké"Javascrip«Comme sa valeur de chaîne primitive:

Alors que, dans le cas d'un objet de wrapper primitif créé automatiquement ou d'un type de wrapper primitif, la portée est limitée à une seule propriété invoquée et méthode:

Soit str1 = 'javascript';
str1.langue = 'es6';
console.journal (str1.langue);

Ici, nous avons d'abord créé une variable "str1"Avec une valeur primitive de chaîne"Javascrip"Dans l'exemple ci-dessus. Après avoir lu la valeur primitive, JavaScript génère un nouvel objet primitif de chaîne ou un type de wrapper primitif pour "str1". Ensuite, le «str1.langue = 'es6'»La commande essaie d'accéder à la propriété linguistique du«str1”String et attribuez-lui la valeur.

Le "langue”La propriété existe dans la mémoire jusqu'à ce point. Par conséquent, la sortie est retournée «indéfini"Au lieu de la valeur stockée dans"str1.langue«Lorsque la ligne suivante est exécutée:

Nous avons compilé toutes les informations essentielles liées au Types d'emballage primitifs et objets primitifs dans Javascrip.

Conclusion

JavaScript propose des types de wrapper primitifs pour le «chaîne","nombre","booléen","grand", et "symbole»Types de données, ce qui facilite l'utilisation de ces valeurs primitives. Les types d'emballage primitifs sont également appelés objets de wrapper primitifs créés automatiquement car ils sont automatiquement créés lorsque le moteur JavaScript lit n'importe quelle valeur primitive, et ces objets sont immédiatement supprimés après invoquer la méthode ou la propriété spécifiée. Cet article a expliqué Types de wrapper primitifs javascript avec l'aide d'exemples appropriés.