Область действия переменных — это одна из важнейших вещей, которые вам нужно понимать в JavaScript. Зная эту концепцию, вы уменьшите количество ошибок и напишете более качественный код, и, к счастью, вам несложно ее понять.
В JavaScript есть два типа областей действия: глобальная и локальная область действия. Давайте посмотрим на каждый из них!
Но прежде чем мы это сделаем, прежде чем мы начнем обсуждать разницу, я просто хочу упомянуть, что существует разница между let & const и var в определении области видимости переменных. Сейчас я сосредоточусь на var, а о let и const поговорим позже.
Глобальный охват
Переменные, объявленные вне функций, называются глобальными, и их можно использовать в любом месте документа JavaScript, даже внутри функций. Вот пример:
// text is a global variable var text = “TEXT”;function myFunction() { console.log(“Text inside of a function: “ + text) }myFunction() // Output: “Text inside of a function: TEXT”console.log(“Text Outside of a function: “ + text) // Output: “Text Outside of a function: TEXT”
В этом примере мы создали переменную в глобальной области видимости с именем text. Затем мы попытались зарегистрировать переменную в консоли внутри функции и снаружи, и это сработало просто отлично. Это означает, что мы можем использовать глобальные переменные в любом месте нашего документа.
Локальная область
Переменные, объявленные внутри функции, называются локальными, и их нельзя использовать вне своей функции. Давайте пример!
function myFunction() { // text is a local variable var text = “TEXT”; console.log(“Text inside of a function: “ + text) }myFunction() // Output: “Text inside of a function: TEXT”console.log(“Text Outside of a function: “ + text) // Output: Uncaught ReferenceError: text is not defined
Вы можете видеть, что в этом примере мы не смогли получить доступ к переменной, которую мы объявили внутри myFunction, потому что текст в этом случае является локальным для myFunction. Если мы создадим другую переменную вне myFunction с тем же именем, они будут иметь разные значения. Давайте посмотрим на этот пример:
// text is a global variable var text = “TEXT_OUTSIDE”function myFunction() { // text is a local variable var text = “TEXT”; console.log(“Text inside of a function: “ + text) }myFunction() // Output: “Text inside of a function: TEXT”console.log(“Text Outside of a function: “ + text) // Output: “Text Outside of a function: TEXT_OUTSIDE”
Пусть и Конст
Давайте теперь поговорим о разнице между let & const и var в определении области видимости переменных. Как мы уже говорили ранее, область видимости в var локальна только внутри функций. Однако с помощью let и const область действия является локальной для любого блока кода. Блок кода — это все, что находится внутри фигурных скобок, например цикл for или цикл while.
Заворачивать
Область действия в JavaScript необходимо знать, потому что это поможет вам писать лучший код. Я надеюсь, что вы понимаете, как работает Scope, и если у вас есть какие-либо вопросы или дополнения, пожалуйста, дайте мне знать. Вы можете связаться со мной с моего сайта: My-Website
Спасибо за чтение :)