2
respostas

[Dúvida] variavel dentro ou fora da função tem diferença?

Minha lógica para resolver os desafios foi a de criar as variaveis dentro da função conforme o indicado, porem, se eu quiser usar a variavel de uma função em outra eu consigo? Por exemplo:

function soma(){
    let num1 = parseInt(prompt("Digite um numero"));
    let num2 = parseInt(prompt("Agora, digite outro numero"));
    let soma = num1 + num2;
    let nome = "Chico";
    alert(`O resultado da soma de ${num1} + ${num2} é ${soma}`)
}
function exemplo(){
    alert(nome);
}
2 respostas

No seu exemplo, a variável nome está declarada dentro da função soma. Portanto, ela só é visível e acessível dentro do escopo dessa função. Se você tentar acessar a variável nome de dentro da função exemplo, ocorrerá um erro, pois a variável não está definida nesse escopo.

Se você deseja acessar a variável nome de dentro da função exemplo, uma opção seria declarar a variável fora de ambas as funções, tornando-a uma variável global. Veja um exemplo:

let nome; // Declaração global

function soma() {
    let num1 = parseInt(prompt("Digite um numero"));
    let num2 = parseInt(prompt("Agora, digite outro numero"));
    let soma = num1 + num2;
    nome = "Chico"; // Atribuição global
    alert(`O resultado da soma de ${num1} + ${num2} é ${soma}`);
}

function exemplo() {
    alert(nome);
}

Agora, a variável nome está fora do escopo das funções, tornando-se uma variável global e podendo ser acessada por ambas as funções. No entanto, o uso de variáveis globais deve ser feito com cautela, pois pode levar a problemas de legibilidade e manutenção do código. Em geral, é recomendável evitar variáveis globais sempre que possível e optar por passar valores entre funções através de parâmetros.

Variáveis declaradas dentro de uma função só ficam lá dentro. Como em uma caixa... Variáveis declaradas FORA de uma função podem ser usadas tanto dentro quanto fora no contexto da aplicação.