Objektų perdavimas nuoroda JavaScript

Masyvai ir objektai šiek tiek skiriasi nuo kitių primityvių duomenų tipų. Skirtumas tas, kad kintamasis, saugantis masyvą, iš tikrųjų jo nesaugo, o tik nurodo jį.

Praktiškai tai reiškia, kad įrašant objektą į kitą kintamąjį, abu kintamieji nurodys tą patį objektą. Pabandykime praktiškai. Tarkime, mes turime šį objektą:

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

Priskirkime jį iš vieno kintamojo į kitą:

javascriptlet obj2 = obj1;

Pakeiskime vieną iš kintamųjų:

javascriptobj2.a = '!';

Dėl to pakeitimai bus matomi ir kitame kintamajame:

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

Paleisdami kodą, nustatykite, kas bus išvesta į konsolę:

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

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

Paleisdami kodą, nustatykite, kas bus išvesta į konsolę:

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

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

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

Paleisdami kodą, nustatykite, kas bus išvesta į konsolę:

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

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

console.log(arr2);