Överföring av objekt genom referens i JavaScript

Arrayer och objekt skiljer sig något från andra primitiva datatyper. Skillnaden är att en variabel som lagrar en array faktiskt inte innehåller den, utan bara refererar till den.

I praktiken betyder detta att när ett objekt skrivs till en annan variabel, kommer båda variablerna att referera till samma objekt. Låt oss prova i praktiken. Låt oss säga att vi har följande objekt:

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

Låt oss tilldela det från en variabel till en annan:

javascriptlet obj2 = obj1;

Låt oss ändra en av variablerna:

javascriptobj2.a = '!';

Som ett resultat kommer förändringarna att vara synliga även i den andra variabeln:

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

Utan att köra koden, bestäm vad som kommer att skrivas ut i konsolen:

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

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

Utan att köra koden, bestäm vad som kommer att skrivas ut i konsolen:

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

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

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

Utan att köra koden, bestäm vad som kommer att skrivas ut i konsolen:

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

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

console.log(arr2);