Maison > interface Web > js tutoriel > Analyse des types d'emballages de base en JavaScript

Analyse des types d'emballages de base en JavaScript

黄舟
Libérer: 2017-10-25 09:41:08
original
1458 Les gens l'ont consulté

Types d'emballage de base

Les types d'emballage de base sont des types de référence spéciaux. Chaque fois qu'une valeur de type de base est lue, un objet correspondant de type d'emballage de base sera créé en arrière-plan, afin que les attributs et les méthodes puissent être appelés pour les opérations ultérieures.

ECMAScript fournit également trois types d'empaquetage de base : Number, String et Boolean.

État actuel du code

Nous écrivons souvent du code comme celui-ci. Les variables de type basique peuvent être utilisées comme objets pour appeler des propriétés et des méthodes, mais ce n'est pas un objet réel, juste une variable, alors ça Pourquoi ?


1    var str = "hello world";
2     console.log(str.length);     // 11
3     console.log(str.toUpperCase());// HELLO WORLD
Copier après la connexion

En fait, afin de faciliter la manipulation des valeurs de type de données de base, la valeur du type de données de base en JavaScript créera un type wrapper de base correspondant objet en arrière-plan , sauf null et non défini, tous les types de base ont des types d'emballage correspondants.

Avec le code ci-dessus, l'arrière-plan effectuera automatiquement le traitement suivant :

Lors de l'exécution de la deuxième ligne :

  1. Créer une instance de la chaîne type;

  2. Appeler l'attribut spécifié sur l'instance

  3. Détruire cette instance

Exécuter jusqu'aux trois premières lignes :

  1. Créer une instance de type String

  2. Appeler la méthode spécifiée sur l'instance

  3. Détruisez cette instance

Vous pouvez considérer les trois étapes ci-dessus comme l'exécution du code ECMAScript suivant :


1 // 执行到第二行时
2 var str = new String("hello world");
3 str.length;
4 str = null;
5 
6 // 执行到第三行时
7 var str = new String("hello world");
8 str.toUpperCase();
9 str = null;
Copier après la connexion

De cette façon, les chaînes du code ci-dessus deviennent identiques aux objets. La même chose s'applique aux types de données de base correspondant respectivement aux types Booléen et Numérique

Maintenant ; en comprenez-vous les bases ? Le type d'emballage est en fait le type correspondant au type de données de base

类型映射关系
stringString
numberNumber
布尔类型(true、false)Boolean
Mappage de types

stringChaîne< /td>
numéroNombre
Type booléen (vrai , faux) Booléen
Remarque :

Ce n'est pas le type d'emballage qui fournit la méthode, mais le backend du moteur javascript a créé une instance (objet) correspondant au type d'emballage de base

Chaque fois qu'une valeur de type de base est lue, un type d'emballage de base correspondant un objet sera créé en arrière-plan tel que :


1 var str = new String("hello world");
2  str.length;
3  str = null;
Copier après la connexion

La différence entre les objets de type référence et les objets de type packaging de base

Le principal La différence est que les cycles de vie de ces deux objets sont différents.

Grâce au bloc de code ci-dessus, nous savons que l'objet créé automatiquement par le type d'empaquetage de base existe lorsque l'objet est appelé et est détruit une fois l'appel terminé. Cependant, pour les instances de types de référence créées à l'aide du. nouveau mot-clé, l'objet dont la portée existe actuellement.


  s=&#39;some&#39; s.age=&#39;Joel&#39; console.log(s.age);
Copier après la connexion

Le code ci-dessus ajoute l'attribut age à la chaîne s, mais lorsque le code est exécuté sur la troisième ligne, l'attribut name a été détruit. le code est exécuté sur la troisième ligne, lors de l'exécution, une autre instance de String est créée, mais cette instance n'a pas l'attribut age, donc la sortie n'est pas définie


  s= String(&#39;some&#39; s.age=&#39;Joel&#39; console.log(s.age);
Copier après la connexion

Résumé

1. Chaque type de données de base est mappé à des types d'emballage de base portant le même nom (sauf null et non défini).
2. Lors de la lecture d'une valeur de type de base, un objet de type d'emballage de base correspondant sera créé, facilitant ainsi les opérations sur les données.
3. Une fois l'objet de la classe d'emballage de base terminé, il sera immédiatement détruit.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal