⊗jsPmCdScp 134 of 505 menu

A változók hatóköre if-else szerkezetekben JavaScriptben

Az egyszerűség kedvéért tegyük fel, hogy van egy mindig teljesülő feltételünk:

if (true) { }

Nézzük a következő kódot:

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

Amint látható, a res változóba az '!' értéknek kellene beíródnia. Azonban, ha ezt a kódot futtatjuk, akkor a konzolba egy hiba íródik ki!

Az oka az, hogy a kapcsos zárójeleken belül deklarált változók csak azon belül láthatók, kívülről nem. Tudományos nyelven ez a változók hatóköre témakörébe tartozik.

Úgy is mondhatjuk, hogy a kapcsos zárójelek belsejében deklarált változók hatóköre csak azok a kapcsos zárójelek. Azonban, ha egy változó a kapcsos zárójeleken kívül van deklarálva, akkor az mind azokon belül, mind azokon kívül látható:

let res; // a változó kívül van deklarálva if (true) { res = '!'; } console.log(res); // kiírja '!'-t

A következő példában a res változóba a feltételtől függően vagy az 1, vagy a 2 érték kerül:

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

Azonban, ha ezt a kódot futtatjuk, akkor a konzolba hiba íródik ki. Most már, ahogy megértjük, ennek oka a változók láthatósága. A probléma megoldáséért deklaráljuk a változót a feltételen kívül:

let test = true; let res; // deklaráljuk a változót a feltételen kívül if (test) { res = 1; } else { res = 2; } console.log(res); // kiírja 1-et

Az alábbi kód szerzője azt szerette volna ellenőrizni, hogy elérték-e a 18 évet. A kód azonban nem működik. Javítsa a kód szerzőjének hibáját. Íme a problémás kód:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás