Oii Daniel, tudo bem?
O que está acontecendo nos seus exemplos é uma questão de ordem de execução dos comandos dentro do bloco de código do loop 'while'.
No primeiro código:
let par = 0;
while (par <= 12) {
console.log(par);
par = par + 2;
}
O que acontece é que, a cada iteração do loop, primeiro é impresso o valor da variável 'par' e depois esse valor é incrementado em 2. Portanto, na primeira iteração, 'par' é 0, então 0 é impresso e, em seguida, 'par' é incrementado para 2. Isso continua até que 'par' seja 12, que é impresso e depois incrementado para 14. No entanto, 14 não satisfaz a condição 'par <= 12', então o loop termina.
No segundo código:
let par = 0;
while (par <= 12) {
par = par + 2;
console.log(par);
}
A ordem dos comandos é invertida. Primeiro, 'par' é incrementado em 2 e, em seguida, o valor é impresso. Isso significa que, na primeira iteração, 'par' é incrementado de 0 para 2 antes de ser impresso. Isso continua até que 'par' seja 12, que é incrementado para 14 e depois impresso. Na próxima iteração, 'par' seria incrementado para 16, mas isso não satisfaz a condição 'par <= 12', então o loop termina.
Então, a ordem dos comandos dentro de um loop (ou qualquer bloco de código) é muito importante e pode alterar o resultado do seu programa.
Espero ter te ajudado.
Um abraço e bons estudos.