Что такое переменная область видимости в JavaScript?

Опубликовано: 21 Августа, 2022

В этой статье мы собираемся узнать о возможностях JavaScript. Область действия управляет доступностью переменных, или мы также можем сказать, что она определяет доступность переменных.

Типы областей видимости в JavaScript:

  • Область блока
  • Объем функций
  • Локальная область
  • Глобальный охват

Область действия блока: ранее JavaScript имел только глобальную область действия и область действия функции. летанд константа — это два новых важных ключевых слова, которые были введены в ES6, и эти два ключевых слова обеспечивают блочную область видимости в JavaScript. ECMAScript (ES6) 2015 был второй крупной версией JavaScript. К переменным, объявленным внутри блока { }, нельзя получить доступ снаружи блока.

пусть ключевое слово:

Пример:

{
 let x = 2;
}
x cannot be used here

ключевое слово var:

Пример:

{
 var x = 2;
}
x can be used here

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

Пример:

Вывод (в консоли):

1
y is not defined

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

ключевое слово var:

Пример:

function myFunction() {
   var firstName = "Krishna";   // Function Scope
}

пусть ключевое слово:

Пример:

function myFunction() {
  let firstName = "Krishna";   // Function Scope
}

константное ключевое слово:

Пример:

function myFunction() {
   const firstName = "Krishna";   // Function Scope
}

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

Пример:

// This part of code cannot use firstName

function myFunction() {
 let firstName = "Krishna";
 // This part of code can use firstName
}

This part of code cannot use firstName

Вывод (в консоли):

inside function: 1
x is not defined

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

пусть ключевое слово:

let x = 2;       // Global scope

константное ключевое слово:

const x = 2;     // Global scope

ключевое слово var:

var x = 2;       // Global scope

Пример:

Вывод (в консоли):

 1
 2
 3
 1
 2
 3