⊗jsPmCdScp 134 of 505 menu

Muutujate nähtavuspiirkond if-else konstruktsioonides JavaScriptis

Lihtsuse mõttes oletame, et meil on alati täituv tingimus:

if (true) { }

Vaatleme järgmist koodi:

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

Nagu näete, peaks muutujasse res kirjutatama väärtus '!'. Kui aga käivitada see kood, kuvatakse konsooli veateade!

Asi on selles, et muutujad, mis on deklareeritud lookuliste sulgude sees, on nähtavad ainult nende sulgude sees ja ei ole nähtavad väljaspool neid. Teaduslikult öeldes on siin tegemist muutujate nähtavuspiirkonnaga.

Võib öelda, et muutujate nähtavuspiirkond, mis on deklareeritud lookuliste sulgude sees, on ainult need lookulised sulud. Kui aga muutuja on deklareeritud sulgude väljaspool, siis on see nähtav nii nende sees kui ka väljaspool:

let res; // muutuja deklareeritud väljaspool if (true) { res = '!'; } console.log(res); // kuvab '!'

Järgmises näites kirjutatakse muutujasse res sõltuvalt tingimusest kas väärtus 1 või väärtus 2:

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

Kui aga käivitada see kood, kuvatakse konsooli veateade. Nagu te nüüd juba mõistate, on asi muutujate nähtavuses. Probleemi lahendamiseks deklareerime muutuja tingimusest väljaspool:

let test = true; let res; // deklareerime muutuja tingimusest väljaspool if (test) { res = 1; } else { res = 2; } console.log(res); // kuvab 1

Allpool toodud koodi autor soovis teha vanuse kontrolli, kas on saavutatud 18 aastat. Kood aga ei tööta. Parandage koodi autoriga tehtud viga. Siin on probleemne kood:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu