Constante cu array-uri sau obiecte în JavaScript
Constantele care conțin array-uri și obiecte funcționează într-un mod interesant. JavaScript nu permite modificarea valorilor acestor constante, dar modificarea proprietăților obiectelor și a valorilor elementelor array-urilor - este permisă.
Să ne uităm la exemple. Să presupunem că avem următorul obiect:
const obj = {a: 1, b: 2, c: 3};
Să încercăm să îi atribuim altceva:
obj = 123; // eroare
Să încercăm să atribuim constantei un alt obiect:
obj = {x: 1, y: 2, z: 3}; // eroare
Cu toate acestea, dacă încercăm să modificăm o proprietate a obiectului, aceasta va funcționa:
obj.a = '+'; // funcționează!
Ce se va afișa în urma executării următorului cod:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
Ce se va afișa în urma executării următorului cod:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
Ce se va afișa în urma executării următorului cod:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);