Valeur primitive vs valeur de référence en JavaScript
Comprendre les valeurs primitives :
Contrairement à la suggestion du livre , les valeurs primitives sont en effet stockées en mémoire. Ils occupent peu d'espace et peuvent contenir des informations simples telles que des nombres, des booléens, des valeurs nulles et indéfinies.
Concept de valeurs de référence :
Valeurs de référence, d'autre part. part, ne sont pas directement stockés sous forme de valeurs. Au lieu de cela, ils contiennent l’adresse ou l’emplacement de l’objet réel en mémoire. Cela permet à plusieurs valeurs de référence de faire référence au même objet.
Exemple :
Considérez l'extrait de code :
var foo = 123;
Dans ce cas, la variable foo se voit attribuer une valeur primitive, 123. Elle occupe une petite partie de la mémoire et stocke elle-même la valeur réelle.
Passer des valeurs en JavaScript :
Lors du passage de valeurs primitives, elles sont transmises par valeur. Cela signifie qu'une copie de la valeur réelle est créée et transmise à la fonction.
Lors du passage des valeurs de référence, elles sont transmises par référence. Cela permet à la fonction d'accéder à l'objet d'origine stocké en mémoire.
Comparaison des valeurs de référence :
Deux valeurs de référence sont considérées comme égales si elles font référence au même objet dans mémoire, même s'ils contiennent des notes autocollantes (descriptions) différentes.
Remarque importante :
JavaScript est un langage dynamique, ce qui signifie que les variables peuvent contenir différents types de données à différents fois. Cela s'applique également aux valeurs primitives et de référence, car elles sont toutes allouées en interne à partir de la mémoire tas.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3