Passage d'objets par référence en JavaScript
Les tableaux et les objets diffèrent quelque peu des autres types de données primitifs. La différence est qu'une variable stockant un tableau ne le contient en fait pas, mais se contente de référencer celui-ci.
En pratique, cela signifie que lorsqu'on enregistre un objet dans une autre variable, les deux variables feront référence au même objet. Essayons cela en pratique. Supposons que nous ayons l'objet suivant :
javascriptlet obj1 = {a: 1, b: 2, c: 3};
Assignons-le d'une variable à une autre :
javascriptlet obj2 = obj1;
Modifions l'une des variables :
javascriptobj2.a = '!';
En conséquence, les modifications seront visibles dans l'autre variable également :
javascriptconsole.log(obj1); // {a: '!', b: 2, c: 3}
Sans exécuter le code, déterminez ce qui sera affiché dans la console :
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Sans exécuter le code, déterminez ce qui sera affiché dans la console :
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Sans exécuter le code, déterminez ce qui sera affiché dans la console :
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);