ობიექტების გადაცემა მითითებით JavaScript-ში

მასივები და ობიექტები გარკვეულწილად განსხვავდებიან დანარჩენი პრიმიტიული მონაცემთა ტიპებისგან. განსხვავება ისაა, რომ ცვლადი, რომელიც ინახავს მასივს, სინამდვილეში არ შეიცავს მას, არამედ უბრალოდ მითითებს მასზე.

პრაქტიკაში ეს ნიშნავს, რომ როდესაც ობიექტს ჩავწერთ სხვა ცვლადში, ორივე ცვლადი მითითებს აკეთებს ერთსა და იმავე ობიექტზე. შევეცადოთ პრაქტიკაში. მოდით, გვქონდეს შემდეგი ობიექტი:

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);