⊗jsPmCdScp 134 of 505 menu

Bereik van variabelen in if-else in JavaScript

Laten we voor de eenvoud uitgaan van een voorwaarde die altijd waar is:

if (true) { }

Laten we de volgende code bekijken:

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

Zoals je ziet, zou de waarde '!' in de variabele res moeten worden opgeslagen. Als je deze code echter uitvoert, verschijnt er een foutmelding in de console!

Het punt is dat variabelen die binnen de accolades worden gedeclareerd, alleen binnen die accolades zichtbaar zijn, en niet van buitenaf. Wetenschappelijk gezegd hebben we het hier over het bereik van variabelen.

We kunnen zeggen dat het bereik van variabelen die binnen accolades worden gedeclareerd, alleen die accolades zijn. Als een variabele echter buiten de accolades is gedeclareerd, dan is deze zowel binnen als buiten zichtbaar:

let res; // variabele gedeclareerd buiten if (true) { res = '!'; } console.log(res); // geeft '!' weer

In het volgende voorbeeld wordt in de variabele res afhankelijk van de voorwaarde ofwel de waarde 1, of de waarde 2 opgeslagen:

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

Als je deze code echter uitvoert, verschijnt er een foutmelding in de console. Zoals je nu begrijpt, komt dit allemaal door de zichtbaarheid van variabelen. Om het probleem op te lossen, declareren we de variabele buiten de voorwaarde:

let test = true; let res; // declareer de variabele buiten de voorwaarde if (test) { res = 1; } else { res = 2; } console.log(res); // geeft 1 weer

De auteur van de onderstaande code wilde een leeftijdscontrole uitvoeren op het bereiken van 18 jaar. De code werkt echter niet. Verbeter de fout van de auteur van de code. Hier is de problematische code:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren