⊗jsPmCdScp 134 of 505 menu

Oblast viditelnosti proměnných v if-else v JavaScriptu

Pro jednoduchost mějme vždy platnou podmínku:

if (true) { }

Podívejme se na následující kód:

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

Jak vidíte, do proměnné res by se měla zapsat hodnota '!'. Avšak, pokud tento kód spustíte, do konzole se vypíše chyba!

Jde o to, že proměnné deklarované uvnitř složených závorek jsou viditelné pouze uvnitř těchto závorek a nejsou viditelné vně. Odborně se zde hovoří o oblasti viditelnosti proměnných.

Lze říci, že oblastí viditelnosti proměnných deklarovaných uvnitř složených závorek jsou pouze tyto složené závorky. Avšak, pokud je proměnná deklarována vně složených závorek, je viditelná jak uvnitř nich, tak vně:

let res; // proměnná deklarována vně if (true) { res = '!'; } console.log(res); // vypíše '!'

V následujícím příkladu se do proměnné res v závislosti na podmínce zapíše buď hodnota 1, nebo hodnota 2:

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

Avšak, pokud tento kód spustíte, do konzole se vypíše chyba. Jak nyní již chápete, jde o viditelnost proměnných. Pro řešení problému deklarujme proměnnou vně podmínky:

let test = true; let res; // deklarujeme proměnnou vně podmínky if (test) { res = 1; } else { res = 2; } console.log(res); // vypíše 1

Autor níže uvedeného kodu chtěl provést kontrolu věku na dosažení 18 let. Kód však nefunguje. Opravte chybu autora kódu. Zde je problematický kód:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout