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:
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:
Dessa maneira o JavaScript entende que os números são textos.
Espero que as informações tenham ajudado.
Bons estudos!