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

Uso do switch

Oi galerinhaa, tudo booom?

Gente gostaria de saber se o switch também seria bom para utilização em casos que os valores já são pré determinados?

Escrevi o código, porém não sei se esta certo: var segredo1 = 5; var segredo2 = 8; var segredo3 = 2;

    var input = document.querySelector("input");

    function verifica(){
          switch(input.value){
            case 'segredo1':
                console.log('Você acertou');
                break;
            case 'segredo2':
                console.log('Você acertou');
                break
            case 'segredo3':
                console.log('Você acertou');
                break;
          }
    }
    var button = document.querySelector("button");

    button.onclick = verifica;

    input.value = "";
    input.focus();

Obs: ainda estou na metade da explicação do professor sobre os Arrays

Desde já, agradeço pela ajuda

2 respostas
solução!

Oi, Dante! Tudo bem? Desculpa a demora por um retorno!

É possível sim a troca de uma estrutura de decisão if por um comando switch! Entretanto para a aplicação desejada no curso é necessário fazer algumas alterações no seu código.

O principal problema que precisamos ficar atentos é em relação ao input.value, pois ele irá retornar uma string, nos dando um problema de tipagem no código. Mesmo o usuário escrevendo “5” como chute, por exemplo, ainda assim o tipo da variável retornada seria uma string.

Dessa forma, não seria possível comparar uma string (input.value) com os números definidos previamente e guardados no array segredos. Devemos então transformar a string (input.value) em um número inteiro por meio da função parseInt().

Nesse caso também é importante observar que, já que estaremos fazendo uma comparação entre números, o case não receberá aspas, pois apenas recebe aspas quando executa uma comparação entre strings.

Segue abaixo o código de substituição com o comando switch:

<meta charset="UTF-8">

<input/>
<button>Compare com o meu segredo</button>

<script>

        var segredo1 = 5; var segredo2 = 8; var segredo3 = 2;
        var segredos = [segredo1, segredo2, segredo3];

        var input = document.querySelector("input");
            input.focus();

    function verifica(){


          switch(parseInt(input.value)){
            case segredo1:
                console.log("Você acertou");
                break;
            case segredo2:
                console.log("Você acertou");
                break;
            case segredo3:
                console.log("Você acertou");
                break;
            default: 
                console.log("Você errou");

          }


        input.value = "";
        input.focus();
    }


    var button = document.querySelector("button");
    button.onclick = verifica;


</script>

Um forte abraço e bons estudos! :)

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Professora, boa tarde!

Desculpa a demora em responder.

Eu encostei um pouco os estudos de JavaScript e voltei para Java, mas tenho pretensões de voltar para o JavaScript.

Obrigado pelo suporte! Tenha uma boa semana.