torna alle lezioni

Valore all'ultimo ciclo

importanza: 3

Qual è l’ultimo valore mostrato da alert in questo codice? Perché?

let i = 3;

while (i) {
  alert( i-- );
}

La risposta è: 1.

let i = 3;

while (i) {
  alert( i-- );
}

Ogni iterazione del ciclo decrementa i di 1. Il controllo while(i) interrompe il ciclo quando i = 0.

Quindi, gli step del ciclo sono (“loop unrolled”):

let i = 3;

alert(i--); //mostra 3, decrementa i a 2

alert(i--) // mostra 2, decrementa i a 1

alert(i--) // mostra 1, decrementa i a 0

// finito, `i` è ora 0, che convertito a booleano è falso