Maison >développement back-end >tutoriel php >Valeurs primitives et entre guillemets ECMAScript - JavaScript ING
Cet article partage principalement avec vous quelques connaissances sur les valeurs originales et les valeurs de référence ECMAScript. Les amis dans le besoin peuvent s'y référer
valeur originale et valeur de référence.1.1 Valeur d'origine (1) La valeur d'origine fait référence à la valeur du
type d'origine, également appelé type de base, tel que Nombre, Stirng , Booléen, Null, Sous-fin.
(2) Segments de données simples stockés dans lapile , c'est-à-dire que leurs valeurs sont stockées directement à l'emplacement accessible par la variable .
(3) Remarque Dans de nombreux langages, les chaînes sont traitées comme des types de référence plutôt que comme des types primitifs car la longueur de la chaîne est variable. ECMAScript brise cette tradition. 1.2 Valeur de référence (1) La valeur de référence fait référence à la valeur dutype de référence , tel que Objet, Fonction, Tableau, Date, RegExp.
(2) Objets stockés dans letas , c'est-à-dire que la valeur stockée dans la variable est un pointeur (point), pointant vers le stockage L'emplacement mémoire de l'objet.
2. Stack et Heap2.1 Les valeurs primitives sont stockées dans la pile Lors de l'attribution d'une valeur à une variable, l'interpréteur ECMAScript doit déterminer si la valeur est un type primitif ou un type référence. Pour ce faire, l'interpréteur tente de déterminer si la valeur est l'un des types primitifs d'ECMAScript : Undefined, Null, Boolean, Number et String. Puisque ces types primitifsoccupent un espace fixe , ils peuvent être stockés dans une zone mémoire plus petite - la pile . Ce stockage permet de rechercher facilement et rapidement la valeur de la variable. 2.2 Les valeurs de référence sont stockées dans le tas
Si une valeur est deheap. Étant donné que la taille de la valeur de référence changera , elle ne peut pas être placée sur la pile, sinon cela réduira la vitesse de recherche des variables. Au lieu de cela, la valeur placée dans l'espace de pile de la variable est l'adresse où l'objet est stocké dans le tas. La taille de l'adresse est fixe, donc son stockage sur la pile n'a aucun impact négatif sur les performances variables. 2.3 Illustration
3. La différence entre la valeur d'origine et la valeur de référence
3.1 Méthode d'attribution3.2 Si la valeur est variable3.3 Différentes méthodes de comparaison4. Méthode d'attribution et si la valeur est variable4.1 La valeur d'origine est basée sur 🎜> Attribuez une valeur en copiant4.4 Description
et attribuez-le à une nouvelle variable. Cette valeur est la copie. Elle est indépendante de la valeur d'origine. La modification d'une valeur n'affectera pas les autres valeurs. (2) Affectation de valeur de référence → Lorsqu'un type de référence, tel qu'un objet, utilise = pour l'affecter à une autre variable, c'est en fait la
référence d'adresse de son objetqui est attribuée vers la nouvelle Variables, les deux variables pointent vers la même référence d'adresse, et elles ont la même adresse. Ainsi, si vous modifiez l'une des variables (l'objet vers lequel pointe la référence de l'adresse), l'autre variable (la référence de l'adresse pointe vers le même objet) changera également.
4.5 Extension
5. 🎜>
5.1 La comparaison des valeurs d'origine est la comparaison des5.4 Description
(1) Les valeurs d'origine a et b ont des données différentes types, mais les valeurs peuvent également être comparées. (Avant la comparaison des valeurs, la== → Comparez uniquement les valeurs
Lire la suite
Dans ECMAScript, les variables peuvent avoir deux types de valeurs, à savoir valeur originale et valeur de référence.
(1) La valeur primitive fait référence à la valeur du type original, également appelé type de base , comme Number, Stirng, Boolean, Null, Underfined.
(2) Segments de données simples stockés dans la pile , c'est-à-dire que leurs valeurs sont stockées directement à l'emplacement accessible par la variable .
(3) Remarque
Dans de nombreux langages, les chaînes sont traitées comme des types de référence plutôt que comme des types primitifs car la longueur des chaînes est variable. ECMAScript brise cette tradition.
(1) La valeur de référence fait référence à la valeur du type de référence , tel que Objet, Fonction, Tableau, Date, RegExp.
(2) Objets stockés dans le tas , c'est-à-dire que la valeur stockée dans la variable est un pointeur (point), pointant vers le stockage L'emplacement mémoire de l'objet.
Lors de l'attribution d'une valeur à une variable, l'interpréteur ECMAScript doit déterminer si la valeur est un type primitif ou un type référence. Pour ce faire, l'interpréteur tente de déterminer si la valeur est l'un des types primitifs d'ECMAScript : Undefined, Null, Boolean, Number et String. Puisque ces types primitifs occupent un espace fixe , ils peuvent être stockés dans une zone mémoire plus petite - la pile . Ce stockage permet de rechercher facilement et rapidement la valeur de la variable. 2.2 Les valeurs de référence sont stockées dans le tas
, alors son espace de stockage sera alloué à partir du heap. Étant donné que la taille de la valeur de référence changera , elle ne peut pas être placée sur la pile, sinon cela réduira la vitesse de recherche des variables. Au lieu de cela, la valeur placée dans l'espace de pile de la variable est l'adresse où l'objet est stocké dans le tas. La taille de l'adresse est fixe, donc son stockage sur la pile n'a aucun impact négatif sur les performances variables. 2.3 Illustration
3. La différence entre la valeur d'origine et la valeur de référence
4.4 Description (1) Affectation de valeur originale → En fait, la valeur est
Copiez et attribuez-le à une nouvelle variable. Cette valeur est la copie. Elle est indépendante de la valeur d'origine. La modification d'une valeur n'affectera pas les autres valeurs.
(2) Affectation de valeur de référence → Lorsqu'un type de référence, tel qu'un objet, utilise = pour l'affecter à une autre variable, c'est en fait laréférence d'adresse de son objet qui est attribuée vers la nouvelle Variables, les deux variables pointent vers la même référence d'adresse, et elles ont la même adresse. Ainsi, si vous modifiez l'une des variables (l'objet vers lequel pointe la référence de l'adresse), l'autre variable (la référence de l'adresse pointe vers le même objet) changera également.
4.5 Extension
5. 🎜>
5.4 Description
est automatiquement effectuée)
, donc les valeurs (références d'adresse) de obj1 et obj2 sont différentes. Recommandations associées :
Explication détaillée de l'affectation de déstructuration des variables ECMAScript6La différence entre JavaScript et ECMAScriptExplication détaillée d'exemples d'objets Class pour démarrer avec ECMAScript6Ce 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!