JavaScript-də obyektlərin istinadla ötürülməsi

Massivlər və obyektlər digər primitiv məlumat növlərindən bir qədər fərqlənir. Fərq ondadır ki, massivi saxlayan dəyişən, əslində onu ehtiva etmir, sadəcə istinad edir ona.

Praktikada bu o deməkdir ki, obyekti başqa dəyişənə yazdıqda, hər iki dəyişən eyni obyektə istinad edəcək. Gəlin praktikada sınayaq. Tutaq ki, aşağıdakı obyektimiz var:

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

Onu bir dəyişəndən digərinə təyin edək:

javascriptlet obj2 = obj1;

Dəyişənlərdən birini dəyişək:

javascriptobj2.a = '!';

Nəticədə dəyişikliklər digər dəyişəndə də görünəcək:

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

Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:

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

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

Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:

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

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

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

Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:

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

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

console.log(arr2);