Because it's the only way to guarantee that x exits when you
reach the end of the loop.
do {
if(true) continue; //Yawn... skip.
const x = ... ;
} while (predicate(x)); //What's x?
But the compiler could tell that there is a 'continue' before x was declared, and issue an error when it is used in while(...)
