There are two statements available for use in JavaScript loops that affect their behavior: break and continue. They're not strictly necessary, but they still occur in practice. Therefore, it's important to know about them.
Break
The break statement exits a loop. Not a function, a loop. When the interpreter encounters it, it stops executing the current loop and moves on to the instructions immediately following the loop.
const coll = ['one', 'two', 'three', 'four', 'stop', 'five'];
for (const item of coll) {
if (item === 'stop') {
break;
}
console.log(item);
}
The same behavior can easily be obtained without break by using the while loop. This kind of loop is semantically better suited for such a problem, since it implies an incomplete iteration:
const coll = ['one', 'two', 'three', 'four', 'stop', 'five'];
let i = 0;
while (coll[i] !== 'stop') {
console.log(coll[i]);
i += 1;
}
The while is ideal for situations where the number of iterations is unknown in advance, such as in the code above, when waiting for an exit condition or when searching for a prime number. When the number of iterations is known, it is preferable to use the for loop.
Continue
The continue instruction allows you to skip an iteration of the loop. Below is an example with the myCompact() function, which removes null elements from an array:
const myCompact = (coll) => {
const result = [];
for (const item of coll) {
if (item === null) {
continue;
}
result.push(item);
}
return result;
};
The code without continue is simpler:
const myCompact = (coll) => {
const result = [];
for (const item of coll) {
if (item !== null) {
result.push(item);
}
}
return result;
};
Summary
break and continue are designed to make managing the traversal more flexible. In practice, you can always build code without them, and it will probably be even simpler. Avoid these constructions if possible.
Recommended materials
For full access to the course you need a professional subscription.
A professional subscription will give you full access to all Hexlet courses, projects and lifetime access to the theory of lessons learned. You can cancel your subscription at any time.