Maison > interface Web > js tutoriel > le corps du texte

Valeurs JavaScript par rapport à la référence

PHPz
Libérer: 2024-07-18 00:40:19
original
1119 Les gens l'ont consulté

JavaScript values vs reference

Comprendre comment les variables sont conservées en JavaScript : en tant que valeurs ou références

En JavaScript, ou plutôt en programmation, une variable est un emplacement dans la mémoire d'un ordinateur utilisé pour stocker des données. Les variables sont déclarées (avec un nom, un identifiant) et peuvent se voir attribuer une valeur immédiatement ou ultérieurement, selon la langue. Cette variable peut ensuite être référencée plus tard dans le programme plutôt que d'indiquer à nouveau explicitement la même valeur.

En JavaScript, les données sont transmises sous forme de valeurs, ces valeurs peuvent être soit des valeurs primitives, soit des valeurs d'objet. En tant que développeur JavaScript, comprendre comment JavaScript gère les données est crucial pour avoir de solides bases dans le langage.

Les valeurs primitives incluent :

  • chaînes.
  • chiffres.
  • booléens.
  • BigInt.
  • Symbole.
  • Indéfini.

Les valeurs des objets, par contre, sont :

  • tableaux.
  • fonctions.
  • objets.

Ces types de valeurs se comportent différemment lorsqu'ils sont transmis, considérez l'extrait ci-dessous :

var monNom = "Fred";
var autreNom = monNom;
monNom = "Ashley";
console.log(monNom); //Ashley
console.log(autreNom); //Fred

Remarquez que otherName est resté le même même s'il ressemble à une "copie" de myName. En réalité, ce qui s'est réellement passé, c'est que lorsque myName a été attribué à otherName, il n'a pas été attribué en tant que copie de la chaîne "Fred", mais une nouvelle chaîne "Fred" a été créée. Ainsi, il n’y a pas de lien direct entre myName et otherName. C'est ainsi que JavaScript transmet les valeurs primitives.

Les valeurs des objets sont gérées différemment, jetez un œil à l'extrait ci-dessous :

var monObj = {couleur : "rouge"};
var autreObj = monObj;
monObj.color = "bleu";
console.log(monObj.color); //bleu
console.log(autreObj.color); //bleu

Ici, et l'objet a été créé et attribué à myObj, qui a ensuite été attribué à otherObj, voyez comment les propriétés de couleur otherObj et myObj ont toutes deux été modifiées simplement en modifiant la propriété de couleur de myObj. En effet, les valeurs des objets sont transmises sous forme de références. myObj ne fait pas directement référence à l'objet, il pointe plutôt vers sa référence, otherObj se voit alors attribuer myObj qui est une référence à l'objet réel. Ainsi, les deux variables sont liées au même objet car elles pointent vers la même référence, un changement dans l'une affecte l'autre.

C'est pourquoi la comparaison (===) de deux objets renvoie directement false, vous comparez littéralement deux références différentes. Ici, myObj === otherObj renvoie true car nous comparons les mêmes références.

J'espère que cela vous donnera une nouvelle perspective sur le fonctionnement de JavaScript en coulisses.

En attendant, restez sans bug.

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!

source:dev.to
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!