Лексическая область видимости в 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, то она не может выйти за пределы своей области, в которой они определены, поскольку они являются переменной области видимости блока.