Сопроводительные файлы можно скачать в здесь.

В Javascript есть 2 типа области видимости, с которыми мы должны быть знакомы: область действия функции и более новая область действия блока, которая была только что добавлена ​​в ES6.

Область действия – это граница, в пределах которой данная переменная или функция допустима, может использоваться или иметь эффект.

До ES6 все переменные и функции имели область действия. Это просто означает, что доступ ограничен функцией, в которой они объявлены. Всякий раз, когда объявляется новая функция, создается новая область действия функции. Переменные с областью действия — это те, которые объявлены с помощью ключевого слова var.

Примечание. все переменные, объявленные с использованием ключевого слова var за пределами функции, принимают глобальную область действия как свою собственную функцию, она также известна в браузере как объект окна.

ПеременнаяlastNameдоступна только внутри функции nameCall(), отсюда и термин "область действия функции".

Пример 1.

Пример 2.

Переменная lastName определена внутри фигурных скобок ({}), однако любая объявленная переменная не будет затронута фигурными скобками, если только она не является функцией.

Другое поведение можно наблюдать с блочными областями.

Переменные, объявленные с использованием новых ключевых слов let и const, имеют блочную область действия. Это означает, что доступ к этим переменным возможен только в пределах фигурных скобок ({}), будь то оператор if, цикл или функция.

Пример 3.

Пример 4.

Между var, let и const большой разницы нет. ключевое слово, когда мы объявляем переменную внутри функции. Однако обратите внимание на следующие случаи.

Пример 5.

Пример 6.

В примерах 5 и 6 можно заметить, что доступ к переменной lastName ограничен и разрешен только в пределах двух фигурных скобок, такова природа блочных областей.

Вывод:

Область видимости используется для отделения различных групп переменных/переменных друг от друга, чтобы избежать ненужных или нежелательных изменений или эффектов. Javascript делает это, используя область действия и область действия блока, которые можно наблюдать, используя разные ключевые слова при объявлении переменной. Обе концепции важны и могут быть очень удобными в зависимости от того, как вы будете их реализовывать.