It\'s well-known that break
and continue
can be used inside a loop:
The answer is different for break
(yes) and continue
(no).
break
You can use break
in an if
, yes, if you label the if
. I wouldn't, but you can:
foo: if (true) {
console.log("In if before break");
break foo;
console.log("In if after break");
}
console.log("After if");
That outputs
In if before break After if
This isn't specific to if
. You can label any statement, and for those with some kind of body (loops, switch
, if
, try
, with
, block, ...), you can use break
within the body to break out of it. For instance, here's an example breaking out of a block statement:
foo: {
console.log("In block before break");
break foo;
console.log("In block after break");
}
console.log("After block");
In block before break After block
continue
You can't use continue
with if
(not even a labelled one) because if
isn't an iteration statement; from the spec.
It is a Syntax Error if this ContinueStatement is not nested, directly or indirectly (but not crossing function boundaries), within an IterationStatement.