Overførsel af objekter ved reference i JavaScript

Arrays og objekter adskiller sig noget fra de andre primitive datatyper. Forskellen er, at en variabel, der gemmer et array, faktisk ikke indeholder det, men blot refererer til det.

I praksis betyder dette, at når man tildeler et objekt til en anden variabel, vil begge variabler referere til det samme objekt. Lad os prøve det i praksis. Lad os sige, at vi har følgende objekt:

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

Lad os tildele det fra en variabel til en anden:

javascriptlet obj2 = obj1;

Lad os ændre en af variablerne:

javascriptobj2.a = '!';

Som et resultat vil ændringerne være synlige i den anden variabel:

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

Uden at køre koden, skal du bestemme, hvad der udskrives i konsollen:

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

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

Uden at køre koden, skal du bestemme, hvad der udskrives i konsollen:

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

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

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

Uden at køre koden, skal du bestemme, hvad der udskrives i konsollen:

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

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

console.log(arr2);