このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
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 2015年7月.
do...while 文は指定された文を、テスト条件が false に評価されるまで実行するループを作成します。条件は文を実行した後に評価されます。結果として、指定された文は少なくとも 1 回は実行されます。
In this article
試してみましょう
let result = "";let i = 0;do { i = i + 1; result = result + i;} while (i < 5);console.log(result);// Expected output: "12345"構文
do statementwhile (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 testconsole.log(result);条件として代入文を使用
場合によっては、条件として代入を使用することは意味があります。しかし、その場合、正しい方法と間違った方法があります。while のドキュメントでは、代入を条件として使用の節で、知っておくべき、そして従うべき一般的な良い実践例を示しています。
仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-do-while-statement> |