Что такое область действия переменных в Javascript
Каждый язык программирования в современном мире имеет концепцию переменных. Переменные используются для хранения значений (число, строка, логическое значение), которые могут измениться в любой момент времени. Но вы когда-нибудь замечали, что у этих переменных всегда есть область видимости, и вы не можете использовать их вне этой области? В этом руководстве вы изучите область действия переменных в JavaScript.
Понимание переменных в JavaScript
Переменные в JavaScript работают иначе, чем в других языках. Здесь вам не нужно указывать тип используемой переменной. В отличие от других языков программирования, у вас нет разных типов данных для разных типов значений.
- Вы можете использовать ключевое слово var, const и let для объявления переменной, и JavaScript автоматически определит тип этой переменной в соответствии с переданным значением.
Итак, это было краткое введение в переменные в JavaScript. В следующем разделе вы ознакомитесь с областью действия переменных в JavaScript.
Какова область действия переменных в Javascript?
Область действия переменных относится к доступности конкретной переменной в программе.
Например, предположим, что у вас есть две разные функции. Сначала вы объявляете переменную в функции 1. Затем вы переходите к следующей функции, то есть к функции 2. Возможно ли, если вы попытаетесь получить доступ к переменной, созданной в функции 1, из функции 2? Это относится к области действия переменной в JavaScript.
Переменные JavaScript имеют разные области видимости, а именно:
- Глобальный охват
- Локальная область
- Блочный прицел
- Область действия
Подробно ознакомьтесь с различными прицелами.
Что такое глобальная область видимости?
- Говорят, что любая переменная, объявленная вне функции, имеет глобальную область видимости.
- Проще говоря, переменная, к которой можно получить доступ в любом месте программы, называется переменной с глобальной областью действия. Глобальные переменные можно определить с помощью любого из трех ключевых слов: let, const и var.
Что такое локальная область?
- Говорят, что любая переменная, объявленная внутри функции, имеет локальную область видимости. Вы можете получить доступ к локальной переменной внутри функции. Если вы попытаетесь получить доступ к любой переменной, определенной внутри функции, извне или из другой функции, она выдаст ошибку.
- Поскольку вы не можете получить доступ к локальной переменной извне функции, вы можете иметь переменную с тем же именем и в другой функции.
Что такое область блока?
- С введением ключевых слов let и const в JavaScript был добавлен новый тип Scope. Вы не можете получить доступ к переменным, объявленным внутри определенного блока (представленного {}), из-за пределов блока.
- Область блока не работает с ключевым словом var. Для этого вы можете использовать ключевые слова let или const.
Что такое область действия функции?
- При создании каждой новой функции создается новая область видимости в JavaScript. Вы не можете получить доступ к переменным, определенным внутри функции, извне функции или из другой функции. Var, let и const работают одинаково при использовании внутри функции.
Строгий режим JavaScript для определения области действия переменной
В JavaScript, если вы забудете объявить переменную с ключевым словом: var, let и const, JavaScript автоматически примет ее как глобальную переменную, и вы сможете получить к ней доступ в любом месте программы.
Чтобы избежать таких ошибок и путаницы, строгий режим был введен в JavaScript с ES5 (ECMAScript 5) в 2009 году.
- Строгий режим вызовет ошибку, если вы попытаетесь использовать тот же синтаксис после включения «строгого режима» в вашу программу. Это поможет вам писать более чистый и безопасный код.
- Точно так же, как и переменные, строгий режим может использоваться как глобально, так и локально. Если вы напишете «use strict» в начале программы, она будет использоваться глобально. В противном случае вы также можете использовать строгий режим локально внутри функции.
- Все современные браузеры поддерживают строгий режим, кроме Internet Explorer 9 и его предыдущих версий.
Жизнь переменной в JavaScript
Срок жизни переменной в JavaScript зависит от области видимости этой переменной. Он начинается, когда он объявляет переменную.
- Локальная переменная существует до тех пор, пока не выполняется функция. В момент завершения функции локальная переменная удаляется.
- Глобальная переменная существует до тех пор, пока пользователь не закроет программу или пока не будет закрыт веб-браузер. Однако, если пользователь меняет окно, не закрывая программу, глобальная переменная остается там.
На этом вы достигли конца этого руководства «Область действия переменных в JavaScript».
Заключение
В этом руководстве вы изучили область действия переменных в JavaScript. Объем зависит от двух аспектов:
- Где объявлена переменная
- Как объявлена переменная
Вы также узнали о необходимости и использовании «строгого режима» в JavaScript. После этого вы также поняли, как долго переменная будет присутствовать для вас во время программирования. Вы также столкнулись с реализацией кода и должны понимать область видимости переменной, представленную в JavaScript.
Вы заинтересованы в расширении своих знаний о JavaScript или ищете онлайн-обучение программированию на JavaScript?
Если ответ положительный на один или оба вышеуказанных вопроса, вам следует изучить программу последипломного образования по веб-разработке с полным стеком, предлагаемую Simplilearn. Эта прикладная учебная программа разработана, чтобы помочь вам понять концепции JavaScript от основ до продвинутого уровня.
На этом примечании, если у вас есть какие-либо сомнения, связанные с этим руководством по области видимости переменных в JavaScript, не стесняйтесь размещать их в виде комментариев в конце этой страницы; мы ответим на них в ближайшее время!
JavaScript: объявление переменных с помощью Var, Let и Const | Бахай Гулле Билги | Аналитика Vidhya
Объявление переменных в JavaScript может быть выполнено по-разному с тремя ключевыми словами; var , let и const . Если вы не понимаете основных различий между этими ключевыми словами и того, когда лучше выбрать одно из них, этот пост для вас.
Прежде чем мы углубимся в детали, давайте сначала разберемся, что такое область видимости:
Область видимости относится к видимости переменной в JavaScript, это означает, что переменная недоступна за пределами области, в которой она определена.
Глобальная область действия: Переменные, объявленные вне функции или блока, имеют глобальную область действия и доступны из любой части кода.
Локальная область видимости: Переменные, объявленные внутри функции или блока, имеют локальную область видимости и доступны только внутри этой функции или блока, недоступны из глобальной области видимости. В JavaScript есть два типа локальной области видимости:
- Область видимости функции: Когда объявляется новая функция, она создает свою собственную область видимости. Переменные, определенные в функции, привязаны к ней и недоступны вне функции.
- Область блока: Блок кода в JavaScript может быть определен с помощью
{фигурных скобок}
и переменных, определенных внутри оператора блока, напримерif
условий илидля
, в то время как циклы
ограничены блоком. Это означает, что переменные, определенные внутри блока, доступны только внутри этой фигурной скобки. Давайте рассмотрим пример:
Первый и второй console.log(color1)
оба регистрируют переменную color1
, потому что он объявлен в глобальной области.
Первый console.log(color2)
успешно регистрирует переменную color2
, поскольку она доступна в функции addColor
, тогда как второй console.log(color2)
выдает ошибку, поскольку переменная color2
не виден за его пределами.
Теперь давайте объясним, что такое ключевые слова var , let и const :
Var было единственным ключевым словом, используемым для объявления переменных в JavaScript до let и const , которые были недавно введены с ES6 (ECMAScript 2015). Объявления Var имеют либо глобальную, либо локальную (функции) область действия, но не область действия блока.
Переменная может быть обновлена и повторно объявлена в той же области без получения ошибки. Вторая переменная, которую вы объявили с помощью var , перезаписывает первую. Это может привести к тому, что вы случайно перезапишете значение существующей переменной с тем же именем, и отладка в этой ситуации усложнится.
ES6 представила новое ключевое слово let в 2015 году. Основное различие между var и let заключается в том, что var
if
или цикла for
, она действительна только в этом блоке, и это помогает легко отлаживать код.Пусть может быть обновлен в пределах своей области, например var , но пусть не может быть повторно объявлен в рамках своей области. Вот почему лучше использовать let , потому что это уменьшает потенциальную ошибку случайного повторного объявления переменной более одного раза в той же области, что и var .
Объявление переменных с const похоже на let и блочное. Разница между const и let заключается в том, что новое значение нельзя присвоить переменной с const после установки начального значения, что означает, что const создает const переменных ant в своей области.
Давайте рассмотрим пример ниже, чтобы понять различия в их области действия:
Все переменные доступны в одном и том же операторе/блоке if
. Хотя переменная color1
по-прежнему видна за пределами блока из-за ее области действия, две другие переменные color2
и color3
больше недействительны, потому что мы можем получить доступ к этим двум переменным только внутри фигурных скобок, в которых они объявлены.