×
Creating solutions

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
No part of this article may be reproduced without mention of the author and URL to this website.
For more information, see the About section.

Comments

Article has no comments.

Add a comment

Name (required)
Website
Message (required)
Submit
From latest