Лексическая область видимости в JavaScript —
Лексическая область видимости в JavaScript означает, что если переменная определена вне функции, то к ней можно получить доступ внутри любой функции, присутствующей в глобальной области видимости.
Но если переменная определена внутри какой-либо функции, находящейся внутри блока, то доступ к ней вне блока будет невозможен.
Давайте разберемся с лексической областью видимости в JavaScript на примере.
var x = 28;
var add = function() {
var y = 1;
return x + y;
};
переменная х=28; Поскольку переменная x определена и инициализирована вне блока, это означает, что она определена в глобальной области действия файла. Таким образом, к ней можно получить доступ в любом месте всего файла. Вот что означает лексический объем.
var add = function() {
var y = 1;
return x + y;
};
console.log(y);
Поскольку в приведенном выше примере доступ к переменной осуществляется за пределами ее области, он по-прежнему дает правильный вывод, поскольку var является переменной области видимости функции. Но если та же самая переменная y была объявлена с использованием let/const, то она не может выйти за пределы своей области, в которой они определены, поскольку они являются переменной области видимости блока.