1
resposta

Eu não estou conseguindo executar o meu código, está dando uma seguinte mensagem no console "Uncaught SyntaxError: Unexpected token 'else'"

let numeroSecreto = gerarNumeroAleatorio(); let tentativas = 1;

function exibirTextoNaTela(tag, texto) { let campo = document.querySelector(tag); campo.innerHTML = texto; }

exibirTextoNaTela('h1', 'Jogo do número secreto'); exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');

function verificarChute() { let chute = document.querySelector('input').value; console.log(chute == numeroSecreto);

if (chute == numeroSecreto) {
    exibirTextoNaTela('h1', 'Acertou!');
    let palavraTentativas = tentativas > 1 ? 'tentativas' : 'tentativa';
    let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativas}`};
    exibirTextoNaTela('p', palavraTentativas);
} else {
    if (chute > numeroSecreto) {
        exibirTextoNaTela('p', 'O número secreto é menor');
    } else {
        exibirTextoNaTela('p', 'O número secreto é maior');
     } 
    tentativas++; 
 } 

function gerarNumeroAleatorio() { return parseInt(Math.random() * 10 + 1); }

1 resposta

Oi Vinícius,

O erro "Uncaught SyntaxError: Unexpected token 'else'" ocorre porque há um problema na estrutura do seu if. No seu código, você abriu um bloco if com { mas o fechou com }; o que causa um erro de sintaxe. O correto é usar apenas } para fechar o bloco.

Além disso, a linha exibirTextoNaTela('p', palavraTentativas); está fora do bloco if principal, o que não faz sentido, pois palavraTentativas só é definida dentro desse bloco.

Para corrigir, remova o ; após o fechamento do bloco if e mova a linha exibirTextoNaTela('p', mensagemTentativas); para dentro do bloco if onde a variável mensagemTentativas é definida.

Segue o código corrigido:

function verificarChute() {
    let chute = document.querySelector('input').value;
    console.log(chute == numeroSecreto);

    if (chute == numeroSecreto) {
        exibirTextoNaTela('h1', 'Acertou!');
        let palavraTentativas = tentativas > 1 ? 'tentativas' : 'tentativa';
        let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativas}`;
        exibirTextoNaTela('p', mensagemTentativas);
    } else {
        if (chute > numeroSecreto) {
            exibirTextoNaTela('p', 'O número secreto é menor');
        } else {
            exibirTextoNaTela('p', 'O número secreto é maior');
        }
        tentativas++;
    }
}

Para saber mais: Estruturas de controle em JavaScript 👍

Continue praticando e explorando novas possibilidades! 💪 💻

tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓