for (;;) + break 版
let num = 0
for (;;) {
num += 1
const ok = num >= 10
if (ok) break
}
console.log(num) // => 10
do ... while 版
let num = 0
let ok = true
do {
num += 1
ok = num < 10
} while (ok)
console.log(num) // => 10
or
let num = 0
let ok = false
do {
num += 1
ok = num >= 10
} while (!ok)
console.log(num) // => 10
参考
備考
while (true) + break
は、以下の eslint のルールに抵触するため断念。
https://eslint.org/docs/rules/no-constant-condition