Konstantos su masyvais arba objektais JavaScript
Konstantos, kuriose yra masyvai ir objektai, veikia įdomiu būdu. JavaScript neleidžia keisti šių konstantų reikšmių, tačiau keisti objektų savybes ir masyvų elementų reikšmes - galima.
Pažiūrėkime į pavyzdžius. Tarkime, kad turime šį objektą:
const obj = {a: 1, b: 2, c: 3};
Pabandykime į jį įrašyti ką nors kito:
obj = 123; // klaida
Pabandykime į konstantą įrašyti kitą objektą:
obj = {x: 1, y: 2, z: 3}; // klaida
Tačiau, jei pabandysime pakeisti objekto savybę, tai veiks:
obj.a = '+'; // veikia!
Kas bus atspausdinta vykdant šį kodą:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
Kas bus atspausdinta vykdant šį kodą:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
Kas bus atspausdinta vykdant šį kodą:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);