Continue in JavaScript
# The continue
keyword
The continue
statement is part of JavaScript's disruptors- statements that change the control flow of a program, together with break
, throw
and return
.
continue
influences the progress of a loop and can only be used within the body of a loop. When continue
is encountered in a loop body, control jumps out of the body and continues with the loop's next iteration. It is similar to break
except that instead of exiting the loop it restarts the next iteration of the loop.
Depending on the type of loop continue
does different things: in a while
loop it returns directly to the condition, while in a for
loop it evaluates the increment (or decrement) condition and then returns to the condition.
# Motivation
Today as I refactored my Kindle Klipper app I encountered a bug that I later discovered arose because one of clippings was not a highlight but a bookmark. As a result it added undefined
to the array of highlights and caused an error when the program tried to write to the output folder.
I tried several solutions to get around this, but eventually the simplest was to just use continue
to skip that particular clipping during parsing as follows:
for(let i =0; i < clippings.length; i++) {
if (!highlight) {
continue;
}
}
Some do not consider this an elegant solution, as the very opinionated Douglas Crockford writes in How JavaScript Works:
The continue statement is a goto statement that jumps to the top of a loop. I have never seen a program that contained continue that was not improved by its removal.- How JavaScript Works