Objektu nodošana pa reference JavaScript
Masīvi un objekti nedaudz atšķiras no pārējiem primitīvajiem datu tipiem. Atšķirība ir tāda, ka mainīgais, kurā glabājas masīvs, patiesībā nesatur to, bet tikai atsaucas uz to.
Prakse tas nozīmē, ka, piešķirot objektu citam mainīgajam, abi mainīgie atsauksies uz vienu un to pašu objektu. Izmēģināsim to praksē. Pieņemsim, ka mums ir šāds objekts:
javascriptlet obj1 = {a: 1, b: 2, c: 3};
Piešķirsim to no viena mainīgā otram:
javascriptlet obj2 = obj1;
Izmainīsim vienu no mainīgajiem:
javascriptobj2.a = '!';
Rezultātā izmaiņas būs redzamas arī otrā mainīgajā:
javascriptconsole.log(obj1); // {a: '!', b: 2, c: 3}
Задание 1
Nepalaižot kodu, nosakiet, ko izvadīs konsole:
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Задание 2
Neipalaižot kodu, nosakiet, ko izvadīs konsole:
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Задание 3
Neipalaižot kodu, nosakiet, ko izvadīs konsole:
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);