⊗jsPmCdScpN 135 of 505 menu

Sfumature dell'ambito di visibilità delle variabili nelle costruzioni if-else in JavaScript

L'ambito di visibilità delle variabili possiede una certa sfumatura. Esaminiamola con un esempio. Dichiariamo all'esterno della nostra condizione una variabile res con un valore, e all'interno della condizione cambiamo questo valore con un altro:

let res = 1; if (true) { res = 2; } console.log(res); // visualizzerà 2

Come puoi vedere, la variabile res è cambiata all'interno della condizione. Tutto, tuttavia, cambierà, se all'interno della condizione dichiariamo anche la variabile res tramite let:

let res = 1; if (true) { let res = 2; // dichiariamo la variabile tramite let } console.log(res); // visualizzerà 1, e non 2!

Qui il punto è che la dichiarazione della variabile tramite let all'interno della condizione ha creato una variabile locale res.

Cioè all'interno della condizione esiste una variabile res, e all'esterno della condizione - un'altra. Possiamo esserne certi, visualizzando il valore della variabile in console all'interno della condizione:

let res = 1; if (true) { let res = 2; console.log(res); // visualizzerà 2 } console.log(res); // visualizzerà 1

L'autore del codice qui sotto voleva eseguire un controllo dell'età per il raggiungimento dei 18 anni. Il codice, tuttavia, per qualsiasi valore dell'età visualizza in console il valore undefined. Correggi l'errore dell'autore del codice. Ecco il codice problematico:

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

L'autore del codice qui sotto voleva eseguire un controllo dell'età per il raggiungimento dei 18 anni. Dopo aver controllato il codice, si è scoperto che se l'età è uguale o superiore a 18 anni, allora nella variabile adult viene registrato true, come dovrebbe essere, tuttavia, se l'età è minore di 18, la variabile adult ha valore undefined. Correggi l'errore dell'autore del codice.

Ecco il codice problematico:

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

L'autore del codice qui sotto voleva eseguire un controllo dell'età. Il codice, tuttavia, per qualsiasi valore dell'età visualizza in console il valore undefined. Correggi l'errore dell'autore del codice.

Ecco il codice problematico:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = 'da 18 a 23'; } else { let res = 'maggiore di 23'; } } else { let res = 'minore di 18'; } console.log(res);

L'autore del codice qui sotto voleva eseguire un controllo dell'età. Il codice, tuttavia, per un valore dell'età maggiore di 18 anni visualizza in console il valore undefined. Correggi l'errore dell'autore del codice.

Ecco il codice problematico:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = 'da 18 a 23'; } else { res = 'maggiore di 23'; } } else { res = 'minore di 18'; } console.log(res);
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta