Maison > interface Web > js tutoriel > Conseil rapide: comment fonctionnent les références JavaScript

Conseil rapide: comment fonctionnent les références JavaScript

尊渡假赌尊渡假赌尊渡假赌
Libérer: 2025-02-17 08:46:19
original
825 Les gens l'ont consulté

Comprendre les références JavaScript: une plongée profonde

Quick Tip: How JavaScript References Work

Concepts clés:

  • JavaScript utilise la valeur pass-par-valeur pour les types primitifs (numéro, chaîne, booléen, undefined, null, symbole) et pas-by-référence pour les types de composés (objets et tableaux). L'opérateur typeof détermine la méthode d'attribution.
  • Les références en JavaScript pointent directement vers les données, et non sur d'autres variables. Les valeurs primitives sont immuables; Les valeurs composées sont mutables. La réaffectation d'une valeur composée crée une nouvelle référence.
  • Lors du passage des valeurs du composé aux fonctions, changent à l'intérieur La fonction aux données référencées se reflète en dehors de la fonction. Cependant, la réaffectation du paramètre dans la fonction crée une nouvelle référence, laissant l'original inchangé.

En bref: Le comportement de référence de JavaScript diffère considérablement des langues avec des pointeurs explicites. Seules les structures de données composées sont transmises par référence.

Quick Tip: How JavaScript References Work

Terminologie:

  • Scalaire: Une seule unité de données (par exemple, entier, booléen).
  • Composé: plusieurs unités de données (par exemple, tableau, objet).
  • primitif: une valeur directe, pas une référence.

Remarque: les types scalaires de JavaScript sont des primitives, contrairement à certaines langues (comme Ruby) avec des types de référence scalaire. Les valeurs primitives de JavaScript sont immuables, tandis que les valeurs composées sont mutables.

Cet article a été initialement publié sur Medium.

Résumé des points clés:

  1. L'opérateur typeof détermine si une valeur est attribuée par valeur ou par référence.
  2. Les primitives sont attribuées par valeur; Les valeurs composées sont attribuées par référence.
  3. Les références pointent vers les données, et non sur d'autres variables ou références.
  4. Les primitives sont immuables; Les valeurs composées sont mutables.

Exemples:

Pass-by-Value (primitives):

let batman = 7;
let superman = batman;   //assign-by-value
superman++;
console.log(batman);     //7
console.log(superman);   //8
Copier après la connexion
Copier après la connexion

Quick Tip: How JavaScript References Work

pass-by-référence (valeurs composées):

let flash = [8, 8, 8];
let quicksilver = flash;   //assign-by-reference
quicksilver.push(0);
console.log(flash);        //[8, 8, 8, 0]
console.log(quicksilver);  //[8, 8, 8, 0]
Copier après la connexion
Copier après la connexion

Quick Tip: How JavaScript References Work

Création de nouvelles références:

La réaffectation d'une valeur composée crée une nouvelle référence:

let firestorm = [3, 6, 3];
let atom = firestorm;   //assign-by-reference
atom = [9, 0, 9];         //value is reassigned (creates new reference)
console.log(firestorm); //[3, 6, 3]
console.log(atom);      //[9, 0, 9]
Copier après la connexion
Copier après la connexion

Quick Tip: How JavaScript References Work

Références dans les fonctions:

let batman = 7;
let superman = batman;   //assign-by-value
superman++;
console.log(batman);     //7
console.log(superman);   //8
Copier après la connexion
Copier après la connexion

Modification de la valeur du composé d'origine dans une fonction:

let flash = [8, 8, 8];
let quicksilver = flash;   //assign-by-reference
quicksilver.push(0);
console.log(flash);        //[8, 8, 8, 0]
console.log(quicksilver);  //[8, 8, 8, 0]
Copier après la connexion
Copier après la connexion

Création d'une copie superficielle:

let firestorm = [3, 6, 3];
let atom = firestorm;   //assign-by-reference
atom = [9, 0, 9];         //value is reassigned (creates new reference)
console.log(firestorm); //[3, 6, 3]
console.log(atom);      //[9, 0, 9]
Copier après la connexion
Copier après la connexion

Quick Tip: How JavaScript References Work

attribuer des primitives par référence (utilisant des objets):

let magneto = [8, 4, 8];
(function(x) {        //IIFE
    x.push(99);
    x = [1, 4, 1];      //reassign variable (creates new reference)
    x.push(88);
})(magneto);
console.log(magneto); //[8, 4, 8, 99]
Copier après la connexion

Conclusion:

Quick Tip: How JavaScript References Work

Comprendre le système de référence de JavaScript est crucial pour écrire un code efficace et sans bug.

(la section FAQS omise par la concision, mais pourrait être reconnu en fonction des besoins.)

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!

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