Alternativa A - n: 11, m: 11
Análise do Código
O trecho de código utiliza o operador de incremento prévio (pre-increment), representado por ++ antes da variável.
Comportamento do Operador ++n:
- O valor da variável é incrementado imediatamente (antes da atribuição).
- O novo valor resultante é utilizado na expressão.
Passo a Passo da Execução
Vamos analisar linha por linha o que ocorre na memória:
- Linha 1:
let n = 10; - A variável
n é inicializada com o valor 10. - Linha 2:
let m = ++n; - O comando
++n age sobre n primeiro. n recebe 10 + 1, tornando-se 11.- Em seguida, esse novo valor (11) é atribuído à variável
m. - Portanto,
m também passa a valer 11.
Comparativo Comum (Post-Incremento)
Para evitar confusões, observe a diferença se o código fosse let m = n++;:
| Cenário | Código | Valor de n | Valor de m | Explicação |
|---|
| Pré-Incremento | m = ++n | 11 | 11 | Incrementa antes de usar |
| Pós-Incremento | m = n++ | 11 | 10 | Usa o valor antigo, depois incrementa |
Como a questão apresenta ++n (pré-incremento), ambas as variáveis assumem o valor final somado.
Conclusão
Após a execução, n vale 11 e m vale 11. A alternativa correta é a primeira opção.