Considere o seguinte trecho de código em JavaScript: var a ...
Considere o seguinte trecho de código em JavaScript:
var a = 100;
var x = 10;
x += a++ + --x;
document.write(x);
Qual resultado deve ser apresentado após sua execução?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é C - 119.
Vamos analisar o trecho de código em JavaScript para entender o que acontece:
1. Inicialização das variáveis:
Temos duas variáveis definidas: var a = 100;
e var x = 10;
.
2. Expressão de atribuição composta:
A expressão x += a++ + --x;
é o ponto crucial da análise. Vamos dividi-la em partes:
a++
: Este é o operador de pós-incremento. Ele retorna o valor atual dea
(que é 100) e só depois incrementaa
para 101.--x
: Este é o operador de pré-decremento. Ele decrementax
antes de usá-lo, entãox
passa de 10 para 9.- A expressão completa
a++ + --x
então se torna100 + 9 = 109
.
3. Atribuição à variável x:
A operação x += 109;
é equivalente a x = x + 109;
. Como x
era 9 após o pré-decremento, agora x
se torna 9 + 109 = 118
.
4. Exibição do valor de x:
O comando document.write(x);
escreve o valor final de x
, que é 118, na tela.
Portanto, a expressão resulta em 119, que é a alternativa C.
Vamos analisar as alternativas incorretas:
- A - 109: Esta seria a soma
100 + 9
, mas sem considerar a adição ao valor original dex
. - B - 110: Esta alternativa não considera corretamente o efeito do pós-incremento e pré-decremento na operação composta.
- D - 120: Erra na soma, confundindo os passos dos incrementos e decrementos.
- E - 121: Similarmente, esta opção não leva em conta a lógica correta da operação composta.
Espero que esta explicação tenha deixado o conceito mais claro para você. Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo