В JS какая польза от объявления имени переменной перед присвоением ей значения?

1

Обычно я бы объявлял переменную со значением следующим образом:

var foo = "I am foo";

Но недавно я видел имя переменной, объявленное первым, а затем значение, назначенное позже так: var foo;

foo = "I am foo";

Какая польза от этого?

  • 2
    Одним из преимуществ тех, кто писал C, является то, что он будет напоминать код, который вы просматривали годами. Объявление переменных в верхней части каждого блока было когда-то давно, единственным способом, которым это было сделано.
Теги:
variables
var

2 ответа

3
Лучший ответ

Никакой "выгоды" в частности. Но для этого требуются определенные ситуации, в первую очередь условные декларации:

var foo;

if (bar) {
    foo = 'baz';
} else {
    foo = 42;
}

Использование var оба раза в пределах if..else было бы ошибкой или, по крайней мере, вводить в заблуждение. Если вы используете let вместо var, это приведет к неправильному изменению переменной.

2

Преимущество только вступает в игру, если вы не знаете, какое значение вы собираетесь назначить ему, вместо того, чтобы повторно назначить значение. например

var foo;
if(someCond){
  foo = "this";
} else if(someOtherCond){
  foo = "that";
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню