As contas de adição sei que precisa estar entre parenteses para não misturar com a concatenação.
Por que contas de divisão e multiplicação não precisa estar entre parenteses e adição e subtração é necessário?
As contas de adição sei que precisa estar entre parenteses para não misturar com a concatenação.
Por que contas de divisão e multiplicação não precisa estar entre parenteses e adição e subtração é necessário?
Pois se tu retirar o parenteses da sua conta o 30 vai ser dividido por 3 antes de ser somado!! Dá uma olhada neste link pois isso acontece basicamente por ordem de procedência igual na matemática !!
Olá!
Mais do que separar da concatenação, neste caso os parênteses estão sendo usados na expressão matemática, pois pela ordem algébrica, multiplicação e divisão devem ser executadas antes das somas, e o parênteses existe para garantir que as somas sejam executadas antes.
Com parênteses, temos:
document.write("A média das idades é " + (20 + 10 + 30) / 3);
cujo resultado é A média das idades é 20.
Sem os parênteses, a divisão (30/30) é feito primeiro :
document.write("A média das idades é " + 20 + 10 + 30 / 3);
cujo resultado é A média das idades é 40.
Na programação, as ordens algébricas devem ser consideradas da mesma forma como na matemática, e os parênteses devem ser usados para priorizar algumas expressões diante de outras . A ordem de prioridade é:
potenciação e radiciação > multiplicação e divisão > soma e subtração.
Faz o teste com e sem os parênteses e veja as diferenças nos resultados!
espero ter ajudado!!!
Obrigado pelas repostas desde já.
Perdoem, acho que não me expressei direito. A ordem dos cálculos entendo; na verdade minha dúvida é sobre a gramática da linguagem quando do uso de concatenações.
por exemplo, as partes em negrito não somam e nem subtraem sem parenteses quando uso concatenação: document.write("Barney nasceu em " + 2016 + 40 ); document.write("Barney nasceu em " + 2016 - 40);
mas estas partes em negrito realizam divisão e multiplicação sem parenteses: document.write("Barney nasceu em " + 2016 * 40); document.write("Barney nasceu em " + 2016 / 40)
O primeiro e o último parenteses é que fazem validar a multiplicação e a divisão? document.write("Barney nasceu em " + 2016 / 40 );
Oi rguilherme acontece o seguinte a multiplicação e divisão tem precedência(vem antes) a soma e a concatenação.
Vamos usar o seu exemplo para ser mais didático possível.
document.write("Barney nasceu em " + 2016 + 40 );
Aqui vamos ter a seguinte execução passo a passo:
document.write("Barbey nasceu em" +
2016 +
40);
Perceba que no caso acima tenho um + com outro + o que vai acontecer:
- Vamos ter a concatenação da String com 2016 por essa ser a ordem da esquerda para direita. document.write("Barney nasceu em 2016"
+
40);
Logo em Seguida sobrará só o sinal de mais entre uma string e o número 40 o que resultará em:
document.write("Barney nasceu em 201640");
Ok!Até aqui?
Já no 2º caso para multiplicação e divisão:
document.write("Barney nasceu em " + 2016 * 40 );
Aqui vamos ter a seguinte execução passo a passo:
document.write("Barney nasceu em" +
2016 *
40);
Perceba que no caso acima tenho um + com * o que vai acontecer:
- Vamos ter a multiplicação primeiro com 2016 vezes 40 por essa ser a ordem multiplicação antes da soma ou concatenação. document.write("Barney nasceu em"
+
80640);
Logo em Seguida sobrará só o sinal de mais entre uma string e o número 80640 o que resultará em:
document.write("Barbey nasceu em 80640"); Que é o que é exibido na tela.
Espero ter ajudado e bons estudos.