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(); ) …


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()) ….