Что такое переменные области действия функции (var) и переменные области действия блока в es6? - PullRequest
1 голос
/ 31 марта 2019

Я новичок в javascipt, так как сейчас я начал изучать js, я довольно запутался с var, который называется функциональной и блочной областями;

Если так, то как нам получить к ним доступ снаружи?этой функции !?Допустим, я хочу использовать его из другого класса (я не знаю, может быть, путем создания какого-либо объекта или чего-то еще) (я думаю, мы не можем создавать объекты здесь! потому что, поскольку это функциональный язык программирования, я думаю! :()

var y = "global";

if (y === "global") {
  var y = "block-scoped";
  console.log(y); // expected output: block-scoped
}

console.log(y); // expected output: block-scoped

1 Ответ

3 голосов
/ 31 марта 2019

var не называется областью действия.

Переменные, объявленные с var, могут быть как функциональными, так и глобальными.

  • Еслиобъявление происходит внутри функции, затем переменная попадает в область действия этой функции.
  • Если объявление происходит вне функции, тогда эта переменная имеет глобальную область действия.

Если переменнаяобъявляется с let или const, затем имеет область действия уровня блока. Блок отделяется {} или, если эти символы отсутствуют, включающая функция или, если нет в блоке или функции, то Global.

I 'Мы написали еще один пост , в котором более подробно рассматриваются область действия и цепочка областей действия, и это должно помочь ответить на ваш сценарий кодирования.

...