Overføring av objekter ved referanse i JavaScript

Matriser og objekter skiller seg noe fra de andre primitive datatypene. Forskjellen er at en variabel som lagrer en matrise, faktisk ikke inneholder den, men bare refererer til den.

I praksis betyr dette at når man skriver et objekt til en annen variabel, vil begge variablene referere til det samme objektet. La oss prøve i praksis. La oss si at vi har følgende objekt:

javascriptlet obj1 = {a: 1, b: 2, c: 3};

La oss tilordne den fra en variabel til en annen:

javascriptlet obj2 = obj1;

La oss endre en av variablene:

javascriptobj2.a = '!';

Som et resultat vil endringene være synlige i den andre variabelen også:

javascriptconsole.log(obj1); // {a: '!', b: 2, c: 3}
Задание 1

Uten å kjøre koden, bestem hva som vil bli skrevet ut i konsollen:

javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;

arr1[0] = 'a';
console.log(arr2);
Задание 2

Uten å kjøre koden, bestem hva som vil bli skrevet ut i konsollen:

javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;

arr1[0] = 'a';
arr2[1] = 'b';

console.log(arr1);
Задание 3

Uten å kjøre koden, bestem hva som vil bli skrevet ut i konsollen:

javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;

arr1[0] = 'a';
arr2[0] = 'b';

console.log(arr2);