allow variable declaration in while loop statement

I really love the declarative way of the for of loop

for (let item of array) {
  …
}

I came across a problem I solved with a while loop.

let item
while (item = next()) {
  …
}

I wonder if it would be a good idea to allow the variable declaration inside the loop statement:

while (let token = next()) {
  …
}

What do you think?

You can already write

for (let item; item = next(); ) …

or

for (let item = next(); item; item = next()) …

The better solution would however be to rewrite that next function into an iterator, so that you could indeed just use for (let item of items()) ….

See https://github.com/tc39/proposal-Declarations-in-Conditionals