Что такое переменная область видимости в JavaScript?
В этой статье мы собираемся узнать о возможностях 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