Konštanty s poliami alebo objektami v JavaScript
Konštanty, ktoré obsahujú polia a objekty, fungujú zaujímavým spôsobom. JavaScript nedovoľuje meniť hodnoty týchto konštánt, ale meniť vlastnosti objektov a hodnoty prvkov polí - je možné.
Pozrime sa na príklady. Majme daný takýto objekt:
const obj = {a: 1, b: 2, c: 3};
Skúsme do neho zapísať niečo iné:
obj = 123; // chyba
Skúsme do konštanty zapísať iný objekt:
obj = {x: 1, y: 2, z: 3}; // chyba
Avšak, ak skúsime zmeniť vlastnosť objektu, bude to fungovať:
obj.a = '+'; // funguje!
Čo sa zobrazí ako výsledok vykonania nasledujúceho kódu:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
Čo sa zobrazí ako výsledok vykonania nasledujúceho kódu:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
Čo sa zobrazí ako výsledok vykonania nasledujúceho kódu:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);