1
resposta

[Dúvida] Texto e número no JS

Não entendi por que esta é a resposta correta, já que quando o JavaScript, ao receber um texto e um número, converte o número para texto. O código da alternativa A deveria mostrar na tela "Eu acertei: 15/50100", e não "Eu acertei: 30", sendo que claramente o resultado de 15/50100 é um número. Por que isso acontece?

1 resposta

Quando utilizamos a tag <script> , estamos informando que JavaScript irá rodar aquela parte do código. Dessa forma, o que a função document.write() faz e imprimir na tela html variáveis, operações e textos com o JavaScript. Por isso você consegue realizar essa operação matemática antes da concatenação, isso ocorre porque há algumas regras da linguagem. Note que há uma ordem em que as operações são processadas: primeiro a multiplicação, depois a divisão e em seguida a soma (que nesse contexto é uma concatenação).

Você pode ler mais no tópico:Precedência dos operadores

Aqui a operação está sem aspas e por isso não é um texto. O texto está entre aspas: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Por isso o resultado exibido é: Eu acertei: 30%.

Não é necessário colocar entre parênteses a operação, o JavaScript primeiro avalia a divisão, depois a multiplicação e depois realiza o processo de concatenação. É como se ele avaliasse o cálculo e depois voltasse a processar, da esquerda para direita, concatenando texto com número .

Para que a saída fique igual ao que você sugeriu, é necessário colocar as informações entre aspas, como no exemplo a seguir:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Dessa maneira o JavaScript entende que os números são textos.

Espero que as informações tenham ajudado.

Bons estudos!