do...while
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Please take two minutes to fill out our short survey.
do...while
文は指定された文を、テスト条件が false に評価されるまで実行するループを作成します。条件は文を実行した後に評価されます。結果として、指定された文は少なくとも 1 回は実行されます。
試してみましょう
let result = "";
let i = 0;
do {
i = i + 1;
result = result + i;
} while (i < 5);
console.log(result);
// Expected output: "12345"
構文
do
statement
while (condition);
statement
-
少なくとも 1 回は実行され、条件が真と評価されるたびに再実行される文。ループ内で複数の文を実行するには、それらの文をグループ化するためにブロック文 (
{ /* ... */ }
) を使ってください。 condition
-
ループを通過した後ごとに評価される式。もし
condition
が true に評価されるなら、statement
は再度実行されます。condition
が false に評価されるときは、制御がdo...while
に続く文へ渡ります。メモ:
break
文を使うと、condition
が false と評価される前にループを停止することができます。
例
do...while
の使用
次の例では、 do...while
ループを少なくとも 1 回は実行し、 i
が 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);
条件として代入文を使用
場合によっては、条件として代入を使用することは意味があります。しかし、その場合、正しい方法と間違った方法があります。while
のドキュメントでは、代入を条件として使用の節で、知っておくべき、そして従うべき一般的な良い実践例を示しています。
仕様書
Specification |
---|
ECMAScript® 2026 Language Specification # sec-do-while-statement |