⊗jsPmCdScp 134 of 505 menu

Omvang van veranderlikes in if-else in JavaScript

Laat ons vir eenvoud 'n altyd-uitvoerende voorwaarde hê:

if (true) { }

Kom ons kyk na die volgende kode:

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

Soos jy kan sien, moet die waarde '!' in die veranderlike res gestoor word. As jy hierdie kode egter uitvoer, sal 'n fout in die konsole vertoon word!

Die ding is dat veranderlikes wat binne die krulhakies verklaar is, slegs binne daardie hakies sigbaar is, en nie daarbuite nie. In wetenskaplike terme word hier gepraat oor die omvang van veranderlikes.

Ons kan sê dat die omvang van veranderlikes wat binne krulhakies verklaar word, slegs daardie krulhakies is. As 'n veranderlike egter buite die krulhakies verklaar word, dan is dit sigbaar beide binne en buite hulle:

let res; // veranderlike verklaar buite if (true) { res = '!'; } console.log(res); // sal '!' uitvoer

In die volgende voorbeeld word die waarde 1 of die waarde 2 in die veranderlike res gestoor, afhangende van die voorwaarde:

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

As jy hierdie kode egter uitvoer, sal 'n fout in die konsole vertoon word. Soos jy nou al verstaan, het alles te make met die sigbaarheid van veranderlikes. Om die probleem op te los, laat ons die veranderlike buite die voorwaarde verklaar:

let test = true; let res; // verklaar die veranderlike buite die voorwaarde if (test) { res = 1; } else { res = 2; } console.log(res); // sal 1 uitvoer

Die outeur van die onderstaande kode wou 'n ouderdomskontrole uitvoer vir die bereiking van 18 jaar. Die kode werk egter nie. Korrigeer die outeur se fout. Hier is die problematiese kode:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp