⊗jsPmCdScp 134 of 505 menu

Oblasť viditeľnosti premenných v if-else v JavaScript

Nech pre jednoduchosť máme vždy splnenú podmienku:

if (true) { }

Pozrime sa na nasledujúci kód:

if (true) { let res = '!'; } console.log(res);

Ako vidíte, do premennej res by sa malo zapísať hodnota '!'. Avšak, ak spustíte tento kód, do konzoly sa vypíše chyba!

Vec sa má tak, že premenné, deklarované vnútri zložených zátvoriek, sú viditeľné len vnútri týchto zátvoriek a nie sú viditeľné vonku. Vedecksy povedané tu ide o oblasť viditeľnosti premenných.

Môžeme povedať, že oblasťou viditeľnosti premenných, deklarovaných vnútri zložených zátvoriek, sú len tieto zložené zátvorky. Avšak, ak je premenná deklarovaná vonku zložených zátvoriek, tak je viditeľná aj vnútri nich, aj vonku:

let res; // premenná deklarovaná vonku if (true) { res = '!'; } console.log(res); // vypíše '!'

V nasledujúcom príklade sa do premennej res v závislosti od podmienky zapíše buď hodnota 1, alebo hodnota 2:

let num = 5; if (num >= 0) { let res = 1; } else { let res = 2; } console.log(res);

Avšak, ak spustíte tento kód, do konzoly sa vypíše chyba. Ako už teraz chápete, celá vec je vo viditeľnosti premenných. Na vyriešenie problému deklarujme premennú vonku podmienky:

let test = true; let res; // deklarujeme premennú vonku podmienky if (test) { res = 1; } else { res = 2; } console.log(res); // vypíše 1

Autor uvedeného kódu chcel vykonať kontrolu veku na dosiahnutie 18 rokov. Kód však nefunguje. Opravte chybu autora kódu. Tu je problematický kód:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť