В JS какая польза от объявления имени переменной перед присвоением ей значения? - PullRequest
0 голосов
/ 23 октября 2018

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

var foo = "I am foo";

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

foo = "I am foo";

Какая выгода от этого?

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

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

var foo;
if(someCond){
  foo = "this";
} else if(someOtherCond){
  foo = "that";
}
0 голосов
/ 23 октября 2018

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

var foo;

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

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

...