JS - это последовательный язык программирования, который означает, что он строит строки одну за другой, за исключением случаев, когда есть цикл, или если statemenet или что-то в этом роде, поэтому, конечно, выражение не будет переоценивать само себя, вы должны, но выражение внутри "делай пока"
let x = 2;
do {
console.log("inside do while loop: x is " + x);
x = -1;
console.log(condition);
let condition = (x > 0);
} while (condition);
или просто сделайте это условием для цикла
let x = 2;
do {
console.log("inside do while loop: x is " + x);
x = -1;
console.log(x > 0);
} while (x > 0);