The do...while
creates a loop that executes a specified statement until the test condition evaluates to false. The condition is evaluated after executing the statement, resulting in the specified statement executing at least once.
The do...while
creates a loop that executes a specified statement until the test condition evaluates to false. The condition is evaluated after executing the statement, resulting in the specified statement executing at least once.
do statement while (condition);
statement
A statement that is executed at least once and is re-executed each time the condition evaluates to true. To execute multiple statements within the loop, use a block statement ({ /* ... */ }
) to group those statements.
condition
An expression evaluated after each pass through the loop. If condition
evaluates to true, the statement
is re-executed. When condition
evaluates to false, control passes to the statement following the do...while
.
Note: Use the break
statement to stop a loop before condition
evaluates to true.
do...while
In the following example, the do...while
loop iterates at least once and reiterates until i
is no longer less than 5.
let result = ''; let i = 0; do { i += 1; result += `${i}`; } while (i > 0 && i < 5); // Despite i === 0 this will still loop as it starts off without the test console.log(result);
In some cases, it can make sense to use an assignment as a condition — but when you do, there's a right way to do it, and a wrong way; the while
documentation has a Using an assignment as a condition section with an example showing a general best-practice syntax you should know about and follow.
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | Deno | Node.js | |
do...while |
1 |
12 |
1 |
4 |
4 |
1 |
4.4 |
18 |
4 |
10.1 |
1 |
1.0 |
1.0 |
0.10.0 |
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/do...while