Prosleđivanje objekata po referenci u JavaScript-u
Nizovi i objekti se donekle razlikuju od ostalih primitivnih tipova podataka. Razlika je u tome što promenljiva koja čuva niz, zapravo ne sadrži niz, već samo referencira na njega.
U praksi to znači da pri upisu objekta u drugu promenljivu, obe promenljive će referencirati na isti objekat. Hajde da probamo u praksi. Neka imamo sledeći objekat:
let obj1 = {a: 1, b: 2, c: 3};
Dodelimo ga iz jedne promenljive u drugu:
let obj2 = obj1;
Izmenimo jednu od promenljivih:
obj2.a = '!';
Kao rezultat, izmene će biti vidljive i u drugoj promenljivoj:
console.log(obj1); // {a: '!', b: 2, c: 3}
Bez pokretanja koda, odredite šta će biti prikazano u konzoli:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Bez pokretanja koda, odredite šta će biti prikazano u konzoli:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Bez pokretanja koda, odredite šta će biti prikazano u konzoli:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);