Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Variável é declarada, mas seu valor nunca é lido

Olá pessoal.

Estou projetando esse código abaixo no JS, porém as variáveis dentro do if (respostaFront e respostaBack) não tem seu valor lido e eu preciso desses valores para os próximos passos, alguém pode me explicar qual erro estou cometendo?

Obrigado desde já.

let areaDeAtuação = prompt ("Olá. Bem vindo ao jogo de escolhas dos Devs. Para começar, você é Dev Front-End ou Back-End? Por favor, digite 1 para selecionar Front-End ou digite 2 para Back-End.");

if (areaDeAtuação == 1) {

    let respostaFront = prompt ("Então você é um Dev Front-End, com qual dessas duas tecnologias tem mais familiaridade? Digite 1 para escolher React ou digite 2 para Vue.");

        } else if (areaDeAtuação == 2) {

            let respostaBack = prompt ("Então você é um Dev Back-End, com qual dessas duas tecnologias tem mais familiaridade? Digite 1 para escolher C# ou digite 2 para Java.");

                } else {

                    alert ("Comando incorreto.");

                        };
2 respostas
solução!

Oi Roberto, tudo bem?

O problema que você está enfrentando é que as variáveis respostaFront e respostaBack estão sendo declaradas dentro do escopo do if e else if, portanto, elas só existem dentro desses blocos condicionais. Para que você possa utilizar essas variáveis fora do if e else if, você precisa declará-las antes do bloco condicional.

Por exemplo:

let areaDeAtuação = prompt ("Olá. Bem vindo ao jogo de escolhas dos Devs. Para começar, você é Dev Front-End ou Back-End? Por favor, digite 1 para selecionar Front-End ou digite 2 para Back-End.");
let respostaFront;
let respostaBack;

if (areaDeAtuação == 1) {
    respostaFront = prompt ("Então você é um Dev Front-End, com qual dessas duas tecnologias tem mais familiaridade? Digite 1 para escolher React ou digite 2 para Vue.");
} else if (areaDeAtuação == 2) {
    respostaBack = prompt ("Então você é um Dev Back-End, com qual dessas duas tecnologias tem mais familiaridade? Digite 1 para escolher C# ou digite 2 para Java.");
} else {
    alert ("Comando incorreto.");
};

Dessa forma, as variáveis respostaFront e respostaBack serão declaradas fora do bloco condicional e poderão ser utilizadas em outras partes do código.

Espero ter ajudado.

Um abraço e bons estudos.

Oi Lorena.

Perfeito, obrigado pelo esclarecimento.