Yeah I'm not saying the JS do while is not useful in a "run at least once" way - but it just doesn't read logically at all to me. Reading the code it feels like it says "do a thing while X is true" - but that's not what it means. It really means "do a thing once and then do it while X is true". It feels like a useful hack :)