The operator is les then or equal. So why does it continue to loop one more time since when it looped 4 times, it reached one of it’s conditions?
for (let i = 0; i <= 5; i++) { console.log(i); console.log("Hello World!"); }
Advertisement
Answer
You are correct that <=
means less than or equal, but I believe you are confusing how loops work. The second statement in a for-loop declaration is called the condition, and defines when a loop can continue to execute. If the condition returns true, the loop body is executed. If false, it breaks.
If it helps, you can imagine it as a while loop where
for(declaration; condition; increment) { //loop body }
is fundamentally equivalent to
declaration; while(condition) { //loop body increment; }
A condition of i <= 5
means the loop will continue to execute as long as the i
is less than or equal to 5. It does not mean the loop will break if i
is no longer both less than nor equal to 5.
The simple change is to use i < 5
.