⊗jsPmCdScpN 135 of 505 menu

A változók hatókörének finomságai az if-else szerkezetekben JavaScriptben

A változók hatókörének van egy bizonyos finomsága. Nézzük meg ezt egy példán. Declaráljunk a feltételünken kívül egy res változót egy értékkel, majd a feltétel belsejében változtassuk meg ezt az értéket egy másikra:

let res = 1; if (true) { res = 2; } console.log(res); // kiírja a 2-t

Amint látod, a res változó megváltozott a feltétel belsejében. Mindazonáltal minden megváltozik, ha a feltétel belsejében a res változót let-tel declaráljuk:

let res = 1; if (true) { let res = 2; // declaráljuk a változót let-tel } console.log(res); // kiírja az 1-et, nem a 2-t!

Itt az a helyzet, hogy a változó declarálása let-tel a feltétel belsejében egy lokális res változót hozott létre.

Vagyis a feltétel belsejében egy res változó létezik, a feltételen kívül pedig egy másik. Ebben meg lehet győződni, ha a változó értékét a konzolra írjuk a feltétel belsejében:

let res = 1; if (true) { let res = 2; console.log(res); // kiírja a 2-t } console.log(res); // kiírja az 1-et

Az alábbi kód szerzője azt szerette volna ellenőrizni, hogy a kor elérte-e a 18 évet. A kód azonban a kor bármely értékénél undefined értéket írja a konzolra. Javítsd a kód szerzőjének hibáját. Itt a problémás kód:

let age = 17; let adult; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);

Az alábbi kód szerzője azt szerette volna ellenőrizni, hogy a kor elérte-e a 18 évet. A kód ellenőrzése után kiderült, hogy ha a kor egyenlő vagy nagyobb, mint 18 év, akkor a adult változóba true kerül rögzítésre, ahogy annak lennie kell, azonban ha a kor kisebb mint 18, akkor a adult változó undefined értékkel rendelkezik. Javítsd a kód szerzőjének hibáját.

Itt a problémás kód:

let age = 17; let adult; if (age >= 18) { adult = true; } else { let adult = false; } console.log(adult);

Az alábbi kód szerzője a kor ellenőrzését szerette volna elvégezni. A kód azonban a kor bármely értékénél undefined értéket ír a konzolra. Javítsd a kód szerzőjének hibáját.

Itt a problémás kód:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = '18 és 23 között'; } else { let res = '23 felett'; } } else { let res = '18 alatt'; } console.log(res);

Az alábbi kód szerzője a kor ellenőrzését szerette volna elvégezni. A kód azonban, ha a kor nagyobb mint 18 év, undefined értéket ír a konzolra. Javítsd a kód szerzőjének hibáját.

Itt a problémás kód:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = '18 és 23 között'; } else { res = '23 felett'; } } else { res = '18 alatt'; } console.log(res);
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