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:
let obj1 = {a: 1, b: 2, c: 3};
Piešķirsim to no viena mainīgā otram:
let obj2 = obj1;
Izmainīsim vienu no mainīgajiem:
obj2.a = '!';
Rezultātā izmaiņas būs redzamas arī otrā mainīgajā:
console.log(obj1); // {a: '!', b: 2, c: 3}
Nepalaižot kodu, nosakiet, ko izvadīs konsole:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Neipalaižot kodu, nosakiet, ko izvadīs konsole:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Neipalaižot kodu, nosakiet, ko izvadīs konsole:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);