2
respostas

[Dúvida] erro ts(6133) na aula Lógica de programação: explore funções e listas

no let palavraTentativas = tentativas > 1 ? tentativas : tentativa; está dando o erro ts(6133)

let tentativas = 1;
let numeroSecreto = gerarNumeroAleatorio();
console.log(numeroSecreto);

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

exibirTextoNaTela(`h1`, `O número secreto`);
exibirTextoNaTela(`p`, `Escolha um número de 1 a 10`);

function verificarChute() {
    let chute = document.querySelector(`input`).value;
    if (chute == numeroSecreto) {
        exibirTextoNaTela(`h1`,`acertou`); 
        let palavraTentativas = tentativas > 1 ? `tentativas` : `tentativa`;
        let mensagemTentativas = `você descobriu o número secreto com ${tentativas} tentativas`;
        exibirTextoNaTela(`p`, `${mensagemTentativas}`);
    } else {
        if(chute > numeroSecreto) {
            exibirTextoNaTela(`h1`,`O numero Secreto é menor que ${chute}`);
            exibirTextoNaTela(`p`,`Tente novamente!`);
        } else {
            exibirTextoNaTela(`h1`,`O número Secreto é maior que ${chute}`);
            exibirTextoNaTela(`p`,`Tente Novamente`);
        }
        tentativas++;
    }  
}
    
function gerarNumeroAleatorio() {
  return parseInt(Math.random() *10 + 1); 
    
}
2 respostas

Olá Enzo! Tudo bem? Espero que sim!

O erro ts(6133) indica que há um problema na atribuição da variável palavraTentativas. O problema está na linha onde você utiliza o operador ternário para definir o valor da variável.

O operador ternário é utilizado para fazer uma condição em uma única linha. No seu caso, você está tentando atribuir a palavra "tentativas" se o valor de tentativas for maior que 1, caso contrário, você quer atribuir a palavra "tentativa".

Porém, o erro ocorre porque você está utilizando a variável tentativas antes de declará-la.

Uma solução para esse problema é declarar a variável tentativas antes de utilizá-la. Por exemplo, você pode declarar a variável tentativas no início do código, antes da função exibirTextoNaTela, assim:

let tentativas = 1;

Dessa forma, a variável tentativas estará disponível para ser utilizada em qualquer parte do código.

Espero ter ajudado e bons estudos!

mas o (let tentativas = 1); já está no início do código, na primeira linha!