×
Vytvárame riešenia

Prečo v JavaScripte const neznamená konštantu

V tomto krátkom článku uvediem, prečo príkaz const nie je konštanta aj keď by sa to od názvu očakávalo.
Ako prvé uvediem jednoduchý príklad, kde sa const javí ako konštanta. Teda hodnota priradená premennej typu konštanta sa nemôže neskôr zmeniť. Za všetko hovorí chybové hlásenie: "Uncaught TypeError: Assignment to constant variable.".
1
2
const p = "matej";
p = "none"; // Uncaught TypeError: Assignment to constant variable.
Ako vidieť, v tomto prípade const funguje podľa očakávaní. Ale čo sa stane ako hodnotou nie je neštruktúrovaný literál, ale pole alebo object?
Príklad: Kedy konštanta sa nespráva ako konštanta.
1
2
3
4
5
6
7
8
9
10
const person = {
name: "matej"
};
console.log(person.name); // matej
person.name = "none";
console.log(person.name); // none
const arr = [1, 2, 3];
arr.push(4);
console.log(arr); // [1,2,3,4]

Záver

Tento mix správania je vytvára otázku či v budúcnosti bude const fungovať ako konštanta alebo sa bude konštanta definovať inak.


JavaScript,const,array,object
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších