⊗jsPmCdScpN 135 of 505 menu

Nuanțe ale domeniului de aplicare al variabilelor în construcțiile if-else în JavaScript

Domeniul de aplicare al variabilelor are un anumit nuantă. Să o analizăm cu un exemplu. Să declarăm în afara condiției noastre o variabilă res cu o valoare, iar în interiorul condiției să schimbăm acea valoare cu alta:

let res = 1; if (true) { res = 2; } console.log(res); // va afișa 2

După cum vedeți, variabila res s-a schimbat în interiorul condiției. Totuși, totul se va schimba, dacă în interiorul condiției declarăm și variabila res prin let:

let res = 1; if (true) { let res = 2; // declarăm variabila prin let } console.log(res); // va afișa 1, nu 2!

Aici, totul se datorează faptului că declararea variabilei prin let în interiorul condiției a creat o variabilă locală res.

Adică în interiorul condiției există o variabilă res, iar în afara condiției - alta. Putem verifica acest lucru, afișând valoarea variabilei în consolă în interiorul condiției:

let res = 1; if (true) { let res = 2; console.log(res); // va afișa 2 } console.log(res); // va afișa 1

Autorul codului de mai jos a vrut să efectueze verificarea vârstei pentru atingerea a 18 ani. Totuși, codul, la orice valoare a vârstei, afișează în consolă valoarea undefined. Corectați eroarea autorului codului. Iată codul problematic:

let age = 17; let adult; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);

Autorul codului de mai jos a vrut să efectueze verificarea vârstei pentru atingerea a 18 ani. După verificarea codului, s-a dovedit că dacă vârsta este egală sau mai mare de 18 ani, atunci în variabila adult se scrie true, așa cum ar trebui, totuși, dacă vârsta este mai mică de 18, atunci variabila adult are valoarea undefined. Corectați eroarea autorului codului.

Iată codul problematic:

let age = 17; let adult; if (age >= 18) { adult = true; } else { let adult = false; } console.log(adult);

Autorul codului de mai jos a vrut să efectueze verificarea vârstei. Totuși, codul, la orice valoare a vârstei afișează în consolă valoarea undefined. Corectați eroarea autorului codului.

Iată codul problematic:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = 'de la 18 la 23'; } else { let res = 'mai mult de 23'; } } else { let res = 'mai puțin de 18'; } console.log(res);

Autorul codului de mai jos a vrut să efectueze verificarea vârstei. Totuși, codul, la o valoare a vârstei mai mare de 18 ani afișează în consolă valoarea undefined. Corectați eroarea autorului codului.

Iată codul problematic:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = 'de la 18 la 23'; } else { res = 'mai mult de 23'; } } else { res = 'mai puțin de 18'; } console.log(res);
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge