1
resposta

Observações na Aula de Concatenação, vocês tiveram esse mesmo problema?

Vocês tiveram o mesmo erro que tive?

Após seguir o passo a passo para o projeto "descubra o número secreto", o professor demonstrou que ao invés de ficarmos alterando manualmente o número secreto "4" na linha oito, poderia inserir a concatenação demonstrado pelo caracter (${}).

Fiz conforme estavam ensinando, salvei e na hora de atualizar a pagina da web aparecia um erro. Você observaram qual foi o erro?

Pois, todas vezes que vamos inserir um texto à uma função temos que abrir o parênteses e incluir aspas. Contudo quando se trata do Template Strings, existe um erro na utilização das aspas simples ( ' ) ao invés da crase ( ´ ) na linha do alert dentro do if as aspas não podem ser inseridas, interessante...

LEMBRETE: para usar a Template String, você precisa usar a crase para delimitar a string e o ${} para interpolar o valor da variável.

  1. alert('Boas vindas ao jogo do número secreto');
  2. let numeroSecreto = 4;
  3. console.log(numeroSecreto);
  4. let chute = prompt('Escolha um número entre 1 e 10');
  5. // se o chute for igual ao núemro secreto
  6. if (chute == numeroSecreto) {
  7. alert('Isso aí! Você descobriu o número secreto ${numeroSecreto}');
  8. } else {
  9. alert('Você errou :(');
  10. }
1 resposta

Oi Bruno! Tudo bem?

A questão principal aqui é que, para utilizar a interpolação de variáveis em uma string, você precisa usar crases (`) em vez de aspas simples ou duplas. Isso é essencial para que o JavaScript reconheça que você está tentando inserir uma variável dentro da string.

No seu código, a linha onde você está tentando mostrar o número secreto deve ser assim:

alert(`Isso aí! Você descobriu o número secreto ${numeroSecreto}`);

A diferença crucial é o uso das crases em vez das aspas simples. Isso permite que o JavaScript interprete o ${numeroSecreto} como uma variável a ser interpolada dentro da string.

Espero que isso resolva o problema que você estava enfrentando. Teste essa alteração e veja se funciona corretamente.

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