1
resposta

[Reclamação] Duas respostas

Ao colocar duas respostas corretas o aprendizado fica confuso.

Para quem está começando vai perceber que não está evoluindo.

O certo seria deixar apenas que uma resposta seja a correta, pois, assim a pessoa vai entendendo aos poucos como funciona o JavaScript.

1 resposta

Olá Samuel!

Vamos analisar as duas alternativas para exibir uma mensagem com o número secreto e o chute do usuário, e entender qual delas é a correta em JavaScript.

Passando a vista de forma rápida, parecem ser iguais, mas não são.

Alternativa B:

alert('O número secreto era ' + numeroSecreto + ', mas você escolheu ' + chute);

Esta é a forma correta. Ela usa o operador de concatenação + para juntar as strings e as variáveis dentro de uma única string que será exibida no alert.

  • ' O número secreto era ': Uma string literal.

  • +: O operador de concatenação, que junta strings.

  • numeroSecreto: A variável que contém o número secreto. O JavaScript converte automaticamente o valor da variável para string, se necessário.

  • ', mas você escolheu ': Outra string literal.

  • chute: A variável que contém o chute do usuário. Também é convertida para string, se necessário.

Exemplo: Se numeroSecreto for 7 e chute for 5, o alert exibirá a mensagem: "O número secreto era 7, mas você escolheu 5".

  • Alternativa D:
alert('O número secreto era ' + numeroSecreto, ' e você escolheu ' + chute);

Esta alternativa está incorreta. A função alert() aceita apenas um argumento: a string que será exibida na caixa de diálogo. Ao usar uma vírgula, você está passando múltiplos argumentos para a função, o que não é a sintaxe correta. O JavaScript pode até não gerar um erro imediatamente em alguns casos, mas o comportamento será inconsistente e provavelmente não exibirá a mensagem como você espera. O segundo argumento, ' e você escolheu ' + chute, será ignorado.

Exemplo: Se numeroSecreto for 7 e chute for 5, o alert exibirá apenas: "O número secreto era 7". A segunda parte da mensagem não aparecerá.

Espero ter esclarecido.