Premenné v JavaScript sú nevyhnutné na ukladanie a spracovanie dát. Je dôležité pochopiť, kde sú tieto premenné platné a na ktoré časti tvojho kódu môžu získať prístup. Vzhľadom na rôzne typy premenných – globálne a lokálne – je porozumenie "scopom" (oblasť viditeľnosti) kľúčové. Ponorme sa teda a zistime, čo obnášajú globálne a lokálne premenné.
Najdôležitejšie poznatky
- Globálne premenné sú prístupné všade v kóde, zatiaľ čo lokálne premenné sú viditeľné iba vo vnútri ich funkcie.
- Definovanie premennej mimo funkcie ju robí globálnou, zatiaľ čo definovanie vo vnútri funkcie ju robí lokálnou.
- Aby bola štruktúra kódu jasná a udržiavateľná, je výhodné deklarovať globálne premenné na začiatku skriptu.
Krok za krokom návod
Definícia premenných a ich viditeľnosť
V prvom kroku sa pozrieme na to, ako môžeš vytvoriť premennú a čo znamená jej viditeľnosť. Ak deklaruješ premennú mimo akejkoľvek funkcie, ako je ukázané v nasledujúcom príklade, je táto globálna.

Tu vytvárame globálnu premennú nazvanú meineVariable.
Vytváranie funkcií s lokálnymi premennými
Ďalej vytvoríme dve funkcie. Jednu funkciu nazveme lokaleFunkcia, v ktorej vytvoríme lokálnu premennú. Táto premenná je viditeľná iba vo vnútri funkcie. Definujme našu funkciu.
V lokaleFunkcia vytvoríš lokálnu premennú lokaleV s hodnotou 5 a vypíšeš ju.
Volanie funkcií
Teraz chceme zavolať lokaleFunkcia, aby sme na obrazovku vypísali číslo 5. Po tom, čo sme funkciu v kóde zavolali, vyzerá výstup takto:
Testovanie viditeľnosti lokálnych premenných
Teraz sa pokúsime použiť lokálnu premennú lokaleV v inej funkcii. Zistíš, že to nefunguje. Poďme zavolať andereFunkcia a uvidíme, čo sa stane.
Získame chybu, pretože premenná lokaleV je viditeľná iba vo vnútri lokaleFunkcia.
Kontrola chýb v konzole
Aby sme lepšie pochopili, prečo sa chyba vyskytuje, preskúmame kód v konzole. Pravým tlačidlom klikni a vyber položku „Preskúmať“, aby si otvoril DOM-explorer a konzolu na analýzu chyby.

Tam sa zobrazuje, že lokaleV je undefined. To posilňuje predpoklad, že premenná mimo svojej funkcie neexistuje.
Definovanie globálnej premennej
Teraz si vytvoríme globálnu premennú, ktorú môžeme použiť v oboch funkciách. Túto premennú nazveme globaleVariable a dáme jej jednoduchú textovú hodnotu.

Teraz je táto globálna premenná prístupná v oboch funkciách a výstup bude rovnaký. Otestujme to.

Definícia premenných a poradie volania
Je dôležité poznamenať, že poradie definovania premenných a funkcií je zásadné. Ak vytvoríš globálnu premennú pod jej použitím, povedie to k problému undefined.
To je spôsobené tým, že funkcia, ktorá potrebuje globálnu premennú, ju volá pred jej definíciou. Aby sa tomu predišlo, je rozumné definovať globálne premenné na vrchu kódu.
Viac o lokálnych premenných a ich použití
Teraz opäť vytvoríme lokálnu premennú v inej funkcii. Tu ju nazveme lokaleVariable a nastavíme jej hodnotu na 12.
Aj túto lokálnu premennú môžeme používať, ale iba vo vnútri jej vlastnej funkcie, nie v iných. Ak použiješ obe lokálne premenné, môže to zaisťovať trpezlivosť a poriadok vo tvojich programoch, v závislosti od zložitosti.
Zhrnutie konceptov
Teraz si pochopil základné koncepty o viditeľnosti a rozsahu premenných v JavaScript. Globálne premenné sú viditeľné pre všetky funkcie, zatiaľ čo lokálne premenné existujú iba vo vnútri svojej funkcie. Je rozumné definovať globálne premenné na jednom mieste v kóde, aby sa zlepšila čitateľnosť a údržba.
Zhrnutie – Viditeľnosť premenných v JavaScript
Na záver si sa naučil, že spôsob, akým definuješ premenné, má priamy vplyv na ich viditeľnosť a rozsah. Vždy si dávaj pozor, kam svoje premenné umiestňuješ, aby si sa vyhol chybám.
Často kladené otázky
Čo sú globálne premenné?Globálne premenné sú premenné, ktoré sú deklarované mimo funkcií a sú tak prístupné v celom skripte.
Čo sú lokálne premenné?Lokálne premenné sú premenné, ktoré sú vytvorené vo vnútri funkcie a sú viditeľné iba vo vnútri tejto funkcie.
Akým spôsobom môžem najlepšie využívať globálne premenné?Odporúča sa definovať globálne premenné na začiatku skriptu, aby sa zabezpečila jasná štruktúra a lepšia udržiavateľnosť.
Môžem používať lokálne premenné mimo ich funkcie?Nie, lokálne premenné sú viditeľné iba vo vnútri funkcie, v ktorej boli definované.
Akým spôsobom sa zaoberať chybami undefined?Dávaj pozor na poradie, v akom definuješ premenné a funkcie, aby si zabezpečil, že potrebné premenné sú definované pred ich použitím.