JavaScript : passage par référence ou passage par valeur démystifié
En JavaScript, le sujet du passage par référence par rapport au passage par valeur soulève souvent questions. Comprendre ce concept est crucial pour une programmation efficace.
Passage par valeur ou passage par référence
Contrairement à la croyance populaire, JavaScript transmet toujours les arguments aux fonctions par valeur. Cependant, la valeur transmise peut être un type de données primitif (nombre, chaîne, booléen, nul, non défini) ou une référence à un objet (Array, Object).
Primitives vs. Objets
Exemples :
Considérez l'extrait de code :
function f(a, b) { a = 3; b[0] = "foo"; } var x = 4; var y = ["eeny", "miny", "mo"]; f(x, y);
Clonage d'objet indépendant
Pour créer une copie totalement indépendante d'un objet sans aucune référence, la meilleure pratique consiste à utiliser la méthode Object.assign() ou l'opérateur spread (...).
Exemple :
const original = { foo: "bar" }; const clone = { ...original };
Dans cet exemple, le clone est une copie indépendante de l'original. Toute modification apportée au clone n'affectera pas l'original.
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!