⊗jsPmCdScp 134 of 505 menu

Ambito delle variabili in if-else in JavaScript

Per semplicità, supponiamo di avere una condizione sempre vera:

if (true) { }

Consideriamo il seguente codice:

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

Come puoi vedere, il valore '!' dovrebbe essere assegnato alla variabile res. Tuttavia, se esegui questo codice, in console verrà visualizzato un errore!

Il fatto è che le variabili dichiarate all'interno delle parentesi graffe sono visibili solo all'interno di quelle parentesi e non sono visibili all'esterno. In termini tecnici, si parla di ambito delle variabili.

Si può dire che l'ambito delle variabili dichiarate all'interno delle parentesi graffe sia limitato a quelle stesse parentesi graffe. Tuttavia, se una variabile è dichiarata all'esterno delle parentesi graffe, è visibile sia all'interno che all'esterno di esse:

let res; // la variabile è dichiarata all'esterno if (true) { res = '!'; } console.log(res); // visualizzerà '!'

Nel seguente esempio, alla variabile res viene assegnato, a seconda della condizione, o il valore 1, o il valore 2:

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

Tuttavia, se esegui questo codice, in console verrà visualizzato un errore. Come ora avrai capito, il problema è la visibilità delle variabili. Per risolvere il problema, dichiariamo la variabile all'esterno della condizione:

let test = true; let res; // dichiariamo la variabile all'esterno della condizione if (test) { res = 1; } else { res = 2; } console.log(res); // visualizzerà 1

L'autore del codice qui sotto voleva verificare se l'età fosse almeno 18 anni. Il codice, tuttavia, non funziona. Correggi l'errore dell'autore. Ecco il codice problematico:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
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