1
resposta

professor não entendi muita bem a lógica nesses codigos:

A)

var i = 0; while( i < 10) { alert( "O resultado é " + (2 * i) ); i = i++;}


B)

var i = 0; while( i < 10) { alert( "O resultado é " + (2 * i) ); i++;}

  • a alternativa A) esta errada e a alternativa B) esta certa, sendo que o objetivo era deixa itentica a função:

for( var i = 0; i < 10; i++ ) { alert( "O resultado é " + (2 * i) ); }

  • e a unica diferença esta no "i++", dizer "i++" não seria dizer "i = i++" também??
1 resposta

Oi, Edson! Tudo bem?

Na linguagem Javascript, existem duas maneiras possíveis para realizar o incremento de uma variável, observe:

  • 1ª Maneira:
resultado = resultado + 1

Por meio do comando acima, indicamos que o novo valor da variável resultado será igual a ele mesmo mais uma unidade, ou seja, queremos que haja um incremento.

  • 2ª Maneira:
resultado++

Esta segunda forma realiza o mesmo procedimento que a primeira, contudo, é mais simples e rápida de ser feita (pois exige, por exemplo, menos caracteres). Os dois operadores de soma presentes indicam que está sendo adicionado o valor 1 à variável resultado. Portanto, trazendo a ideia para o exercício do curso, dizer i++, na realidade, significa dizer i = i + 1!

Por esse motivo, não conseguimos executar o comando abaixo, tendo em vista que ele apenas mistura as duas maneiras de atribuição de valores com soma (resultando em algo que não faz parte da linguagem):

i = i++

Edson, espero que tenha compreendido minha explicação. Fico à disposição para te ajudar caso surjam outras dúvidas ao longo dos seus estudos.

Forte abraço.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.