Maison > Article > interface Web > Quelle est la différence entre les valeurs primitives et de référence en JavaScript ?
Valeurs primitives et valeurs de référence en JavaScript
En programmation, les variables peuvent stocker deux types de valeurs : les valeurs primitives et les valeurs de référence.
Valeurs primitives
Les valeurs primitives sont des types de données simples et immuables tels que des nombres, des chaînes et des booléens. Elles sont stockées directement dans l'espace mémoire de la variable.
Valeurs de référence
Les valeurs de référence sont des références à des objets stockés ailleurs en mémoire. Ils ne stockent pas l'objet lui-même, mais contiennent à la place l'adresse mémoire pointant vers lui.
Stockage des variables
En JavaScript, les primitives sont stockées dans l'espace mémoire de la variable . Par exemple, si vous attribuez la valeur 10 à une variable appelée x :
var x = 10;
Le nombre 10 est stocké directement dans la mémoire de x.
En revanche, les objets (y compris les tableaux, objets et fonctions) sont alloués à partir du tas. Lorsque vous attribuez un objet à une variable, la variable stockera la référence (adresse mémoire) de l'objet, pas l'objet lui-même.
var object = { a: 1, b: 2 }; var reference = object; // `reference` is now a reference to `object`
Value vs Reference Pass-by
Lors du passage de variables aux fonctions, les primitives sont passées par valeur (une copie de la valeur réelle est effectuée). Toutefois, les valeurs de référence sont transmises par référence (la référence elle-même est transmise). Cela signifie que toute modification apportée à l'objet via la variable de référence sera également reflétée dans l'objet d'origine.
Conclusion
Comprendre la différence entre les valeurs primitives et de référence est crucial pour travailler avec des variables en JavaScript. Les primitives sont stockées directement dans la mémoire de la variable, tandis que les références contiennent l'adresse pointant vers des objets stockés ailleurs en mémoire. La valeur transmise pour les primitives garantit des copies indépendantes, tandis que la référence transmise pour les objets permet de synchroniser les modifications sur l'objet d'origine et ses références.
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!