Paso de objetos por referencia en JavaScript
Los arrays y objetos se diferencian un poco de los demás tipos de datos primitivos. La diferencia es que una variable que almacena un array en realidad no lo contiene, sino que simplemente hace referencia a él.
En la práctica, esto significa que al asignar un objeto a otra variable, ambas variables harán referencia al mismo objeto. Probemos esto en la práctica. Supongamos que tenemos el siguiente objeto:
let obj1 = {a: 1, b: 2, c: 3};
Asignémoslo de una variable a otra:
let obj2 = obj1;
Modifiquemos una de las variables:
obj2.a = '!';
Como resultado, los cambios serán visibles también en la otra variable:
console.log(obj1); // {a: '!', b: 2, c: 3}
Sin ejecutar el código, determine qué se mostrará en la consola:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Sin ejecutar el código, determine qué se mostrará en la consola:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Sin ejecutar el código, determine qué se mostrará en la consola:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);