1
resposta

[Dúvida] codigo não funciona com as crases e sim com as aspas e após as aspas uma virgula

Só queria saber por que meu codigo não funciona do jeito que foi mostrado mas funciona desse jeito, ali na linha 7 o sugerido na aula era escrever da seguinte forma: alert(Isso aí você descobriu o numero secreto :D ${numeroSecreto});
Porem meu codigo só funciona do seguinte jeito:

alert('Boas vindas ao Jogo do numero secreto!');
let numeroSecreto = 2;
console.log(numeroSecreto);
let chute = prompt('Escolha um numero entre 1 e 10');
//se o chute for igual ao numero secreto 
if (chute == numeroSecreto) {
   alert('Isso aí você descobriu o numero secreto :D',{numeroSecreto});
} else { 
   alert('você errou D:')
}

Não tenho certeza se foi algo que fiz ou se é um bug ou se simplesmente é pra ser assim

1 resposta

Oi, Laura! Como vai?

Parece que há uma confusão entre o uso de crases (``) e aspas simples (' ') no seu código JavaScript. As crases são usadas para criar template literals no JavaScript, que permitem a interpolação de variáveis diretamente dentro de strings. Isso é especialmente útil quando você quer incluir o valor de uma variável dentro de uma string de forma dinâmica.

No seu caso, a linha sugerida na aula era:

alert(`Isso aí você descobriu o numero secreto :D ${numeroSecreto}`);

Aqui, as crases permitem que você insira a variável numeroSecreto diretamente na string usando ${}. Isso é diferente de usar aspas simples ou duplas, onde você teria que concatenar strings e variáveis manualmente.

A razão pela qual o seu código funciona com aspas e uma vírgula é que você está passando um segundo argumento para o alert, que na verdade não é necessário e não é utilizado pelo alert. O alert aceita apenas uma string, então o que você está fazendo é tecnicamente incorreto, mas o JavaScript ignora o segundo argumento.

Se você quiser que o código funcione conforme o exemplo da aula, tente usar as crases e a interpolação de variáveis como mostrado acima. Isso deve funcionar, desde que você esteja usando um ambiente que suporte ES6 (como a maioria dos navegadores modernos).

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.