У JS есть несколько концепций, связанных с областью видимости (scope), которые не всегда ясны начинающим разработчикам (и иногда даже опытным). Эта статья посвящена тем, кто стремится погрузиться в пучину областей видимости JS, услышав такие слова, как область видимости, замыкание, “this”, область имён, область видимости функции, глобальные переменные, лексическая область видимости, приватные и публичные области… Надеюсь, по прочтению материала вы сможете ответить на следующие вопросы:
— что такое область видимости JS?
— что есть глобальная/локальная область видимости?
— что есть пространство имён и чем оно отличается от области видимости?
— что обозначает ключевое слово this, и как оно относится с областью видимости?
— что такое функциональная и лексическая область видимости?
— что такое замыкание?
— как мне всё это понять и сотворить? Читать далее Javascript область видимости переменных