⊗jsPmCdScp 134 of 505 menu

Escopo de Variáveis em if-else em JavaScript

Para simplificar, vamos supor que temos uma condição sempre verdadeira:

if (true) { }

Vamos considerar o seguinte código:

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

Como você pode ver, o valor '!' deveria ser atribuído à variável res. No entanto, ao executar este código, um erro será exibido no console!

O fato é que as variáveis declaradas dentro de chaves são visíveis apenas dentro dessas chaves e não são visíveis fora delas. Em termos técnicos, estamos falando sobre escopo de variáveis.

Podemos dizer que o escopo das variáveis declaradas dentro de chaves é limitado a essas mesmas chaves. No entanto, se uma variável é declarada fora das chaves, ela é visível tanto dentro quanto fora delas:

let res; // variável declarada fora if (true) { res = '!'; } console.log(res); // exibirá '!'

No exemplo a seguir, o valor 1 ou 2 é atribuído à variável res dependendo da condição:

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

No entanto, ao executar este código, um erro será exibido no console. Como você já deve entender, o problema está na visibilidade das variáveis. Para resolver o problema, vamos declarar a variável fora da condição:

let test = true; let res; // declarando a variável fora da condição if (test) { res = 1; } else { res = 2; } console.log(res); // exibirá 1

O autor do código abaixo queria verificar se a idade era igual ou superior a 18 anos. No entanto, o código não funciona. Corrija o erro do autor do código. Aqui está o código problemático:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar