“Var” ou nenhum “var” no loop “for-in” do JavaScript?

Qual é a maneira correta de escrever umfor-in loop em JavaScript? O navegador não emite uma reclamação sobre nenhuma das duas abordagens mostradas aqui. Primeiro, existe essa abordagem em que a variável de iteraçãox é declarado explicitamente:

for (var x in set) {
    ...
}

E, alternativamente, essa abordagem, que é mais natural, mas não me parece correta:

for (x in set) {
    ...
}

questionAnswers(9)

yourAnswerToTheQuestion