Никакой «выгоды», в частности.Но определенные ситуации требуют этого, особенно условные объявления:
var foo;
if (bar) {
foo = 'baz';
} else {
foo = 42;
}
Использование var
оба раза в пределах if..else
будет ошибочным или, по крайней мере, вводящим в заблуждение.Если вы используете let
вместо var
, это приведет к неправильному охвату переменной.