⊗jsPmCdScp 134 of 505 menu

Variablers omfattning i if-else i JavaScript

Låt oss för enkelhetens skull ha ett villkor som alltid utförs:

if (true) { }

Låt oss titta på följande kod:

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

Som du ser, i variabeln res borde värdet '!' ha lagrats. Men, om du kör den här koden kommer ett fel att skrivas ut i konsolen!

Saken är den att variabler deklarerade inuti klammerparenteser, endast är synliga inuti dessa parenteser, och inte synliga utanför. Vetenskapligt sett handlar det här om variablers omfattning.

Man kan säga att omfattningen för variabler deklarerade inuti klammerparenteser, endast är dessa klammerparenteser. Men, om en variabel är deklarerad utanför klammer- parenteserna, är den synlig både inuti dem och utanför:

let res; // variabel deklarerad utanför if (true) { res = '!'; } console.log(res); // skriver ut '!'

I följande exempel i variabeln res skrivs antingen värdet 1 eller värdet 2 beroende på villkoret:

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

Men om du kör den här koden kommer ett fel att skrivas ut i konsolen. Som du nu förstår, handlar det allt om variablers synlighet. För att lösa problemet deklarerar vi variabeln utanför villkoret:

let test = true; let res; // deklarera variabeln utanför villkoret if (test) { res = 1; } else { res = 2; } console.log(res); // skriver ut 1

Författaren till koden nedan ville utföra en ålderkontroll för att uppnå 18 år. Koden fungerar dock inte. Rättaa kodförfattarens fel. Här är den problematiska koden:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa