Пренос објеката референцом у ЈаваСкрипту

Низови и објекти се донекле разликују од осталих примитивних типова података. Разлика је у томе што променљива која чува низ, заправо не садржи њега, већ само реферише на њега.

У пракси то значи да ће, приликом уписа објекта у другу променљиву, обе променљиве реферисати на исти објекат. Хајде да испробамо у пракси. Нека имамо следећи објекат:

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

Доделимо га из једне променљиве у другу:

javascriptlet obj2 = obj1;

Изменимо једну од променљивих:

javascriptobj2.a = '!';

Као резултат, измене ће бити видљиве и у другој променљивој:

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

Без покретања кода, одредите шта ће се исписати у конзолу:

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

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

Без покретања кода, одредите шта ће се исписати у конзолу:

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

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

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

Без покретања кода, одредите шта ће се исписати у конзолу:

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

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

console.log(arr2);