4
respostas

a ordem dos factores influenciam?

outros já perguntaram,mas n entendi ainda, devido ao exercício anterior, os parênteses que foram usados não tiveram resultados, já nesse exercício teve.

4 respostas

Qual exercicio?

Fala, Pedro, beleza?

Nesse exercício, temos que prestar atenção aos tipos de dados que estão sendo apresentados, que neste exercício são dois: o tipo string (texto) e o tipo number (números).

Pois bem, como todos os valores estão dentro de uma função write(), o JavaScript vai interpretar tudo da esquerda para a direita, a menos que hajam parênteses, e como existe um par de parênteses, ele vai começar por eles, fazendo a soma entre 5 e 10, depois volta para o fluxo normal, da esquerda para a direita, onde temos os caracteres do tipo string: "A" e "B", e como na aula foi explicado que quando temos duas strings lado a elas são concatenadas, ou seja, vão se juntando. No comentário do professor, tem a explicação com o código para melhor visualização, dá uma sacada:

Primeiro, vamos analisar a string, fora da instrução document.write:

"A" + "B" + 20 + 10 + "C" + (5 + 10) + "D"

Lembre-se que o que estiver entre parênteses será processado primeiro, sendo assim temos:

"A" + "B" + 20 + 10 + "C" + 15 + "D"

Agora ocorre o processo de concatenação que vai da esquerda para a direita resultando em AB2010C15D.

Vejamos passo a passo o que acontece com as concatenações de "A" + "B" + 20 + 10 + "C" + (5 + 10) + "D":

"AB" + 20 + 10 + "C" + 15 + "D"
"AB20" + 10 + "C" + 15 + "D"
"AB2010" + "C" + 15 + "D"
"AB2010C" + 15 + "D"
"AB2010C15" + "D"
"AB2010C15D"

Ficou nítido? Qlq dúvida só falar, ok?

uau... Parabens Erick

Erick, tudo bem?

Eu entendi a lógica analisando esse caso isoladamente, mas dentro de um contexto com mais exemplos, pra mim não ficou claro. Consegue fazer um paralelo com o exemplo abaixo? Porque esse caso, mesmo tendo a mesma estrutura, faz a conta corretamente e não concatena o "15" ao texto da esquerda?

document.write("Eu acertei: " + 15/50*100 );