Konstantes ar masīviem vai objektiem JavaScript
Konstantes, kas satur masīvus un objektus, strādā interesantā veidā. JavaScript ne atļauj mainīt šo konstantu vērtības, bet mainīt objektu īpašības un masīvu elementu vērtības - ir iespējams.
Apskatīsimies ar piemēriem. Pieņemsim, ka mums ir dots šāds objekts:
const obj = {a: 1, b: 2, c: 3};
Mēģināsim ierakstīt tajā kaut ko citu:
obj = 123; // kļūda
Mēģināsim ierakstīt konstantē citu objektu:
obj = {x: 1, y: 2, z: 3}; // kļūda
Tomēr, ja mēs mēģināsim mainīt objekta īpašību, tas darbosies:
obj.a = '+'; // strādā!
Kas tiks izvadīts šāda koda izpildes rezultātā:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
Kas tiks izvadīts šāda koda izpildes rezultātā:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
Kas tiks izvadīts šāda koda izpildes rezultātā:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);