Kalimi i objekteve sipas referencës në JavaScript
Vargjet dhe objektet ndryshojnë disi nga llojet e tjera primitive të të dhënave. Dallimi është se ndryshorja që ruan një varg, në fakt nuk e përmban atë, por thjesht referohet tek ai.
Në praktikë kjo do të thotë se gjatë shkrimit të një objekti në një ndryshore tjetër, të dyja ndryshoret do të referohen në të njëjtin objekt. Le ta provojmë në praktikë. Le të kemi objektin e mëposhtëm:
let obj1 = {a: 1, b: 2, c: 3};
Le ta caktojmë atë nga një ndryshore në një tjetër:
let obj2 = obj1;
Le të ndryshojmë një nga ndryshoret:
obj2.a = '!';
Si rezultat, ndryshimet do të jenë të dukshme edhe në ndryshoren tjetër:
console.log(obj1); // {a: '!', b: 2, c: 3}
Pa ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në konsol:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Pa ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në konsol:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Pa ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në konsol:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);