⊗jsPmCdScp 134 of 505 menu

Področje veljavnosti spremenljivk v if-else v JavaScript

Za preprostost vzemimo, da imamo vedno izpolnjen pogoj:

if (true) { }

Oglejmo si naslednjo kodo:

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

Kot lahko vidite, bi se morala v spremenljivko res zapisati vrednost '!'. Vendar, če zaženemo to kodo, se bo v konzolo izpisala napaka!

Bistvo je v tem, da so spremenljivke, deklarirane znotraj zavitih oklepajev, vidne samo znotraj teh oklepajev in niso vidne zunaj. Znanstveno rečeno gre tukaj za področje veljavnosti spremenljivk.

Lahko rečemo, da je področje veljavnosti spremenljivk, deklariranih znotraj zvitih oklepajev, omejeno le na te zavite oklepaje. Vendar, če je spremenljivka deklarirana zunaj zvitih oklepajev, je vidna tako znotraj njih kot zunaj:

let res; // spremenljivka deklarirana zunaj if (true) { res = '!'; } console.log(res); // bo izpisal '!'

V naslednjem primeru se v spremenljivko res glede na pogoj zapiše bodisi vrednost 1, bodisi vrednost 2:

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

Vendar, če zaženemo to kodo, se bo v konzolo izpisala napaka. Kot zdaj razumete, je ves problem v vidnosti spremenljivk. Za rešitev težave deklarirajmo spremenljivko zunaj pogoja:

let test = true; let res; // deklarirajmo spremenljivko zunaj pogoja if (test) { res = 1; } else { res = 2; } console.log(res); // bo izpisal 1

Avtor spodnje kode je želel izvesti preverjanje starosti za dopolnitev 18 let. Koda pa ne deluje. Popravite napako avtorja kode. Tukaj je problematična koda:

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni