Last loop value
importance: 3
What is the last value alerted by this code? Why?
let i = 3;
while (i) {
alert( i-- );
}
The answer: 1
.
let i = 3;
while (i) {
alert( i-- );
}
Every loop iteration decreases i
by 1
. The check while(i)
stops the loop when i = 0
.
Hence, the steps of the loop form the following sequence (“loop unrolled”):
let i = 3;
alert(i--); // shows 3, decreases i to 2
alert(i--) // shows 2, decreases i to 1
alert(i--) // shows 1, decreases i to 0
// done, while(i) check stops the loop