Konstanty s poli nebo objekty v JavaScriptu
Konstanty obsahující pole a objekty fungují zajímavým způsobem. JavaScript nezakazuje měnit hodnoty těchto konstant, ale měnit vlastnosti objektů a hodnoty prvků polí - lze.
Podívejme se na příkladech. Předpokládejme, že máme dán takovýto objekt:
const obj = {a: 1, b: 2, c: 3};
Zkusme do něj zapsat něco jiného:
obj = 123; // chyba
Zkusme do konstanty zapsat jiný objekt:
obj = {x: 1, y: 2, z: 3}; // chyba
Pokud se však pokusíme změnit vlastnost objektu, bude to fungovat:
obj.a = '+'; // funguje!
Co se vypíše jako výsledek provedení následujícího kódu:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
Co se vypíše jako výsledek provedení následujícího kódu:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
Co se vypíše jako výsledek provedení následujícího kódu:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);