Область действия Javascript

Есть много способов объявить переменные в javascript, каждый из которых имеет разную область действия, которая может иметь последствия для более широкой базы кода.

Три способа объявления переменных в Javascript

  1. Глобальные переменные

d = "test"

2. Переменные области действия функции

var a = "test"

3. Переменные с областью действия блока

let b = "test"
const c = "test"

Глобальные переменные

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

Переменная, которая не объявлена ​​с использованием var, let или const, как d в приведенном выше коде, считается действительно глобальной переменной, которая считается глобальной независимо от того, где она объявлена, тогда как var и let могут иметь локальную или глобальную область действия.

Например, в приведенном ниже примере и d, и b считаются глобальными переменными; тогда как var c — глобальная переменная, а var a — локальная переменная, связанная с функцией practice().

Локальные переменные

Есть два способа объявления локальных переменных: использование let и var. Объявление var относится к области действия функции, а let — к области действия блока.

Область действия функции относится к переменным, доступным в любом блоке внутри функции. Область блока относится к переменным, которые доступны только внутри блока.

В приведенном ниже примере строка 1 выведет result is test 2, а строка 2 выведет result is random.

Константы

Разница между const и всеми остальными методами объявления заключается в том, что const нельзя переназначить, а все остальные можно.

var a = "first test"
const b = "second test"
let c = "third test"
var a = "fourth test"
const b = "fifth test"
let c = "sixth test"

В приведенном выше коде a и c будут отображать fourth test и sixth test соответственно, в то время как b выдаст ошибку, поскольку const нельзя переназначить, в то время как другие могут быть переназначены, если они находятся в правильной области.