В JavaScript существуют три основные области видимости:

  1. Глобальная область видимости: Переменные, объявленные вне любой функции, являются глобальными и доступны из любого места в коде.

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

  3. Блочная область видимости: С появлением ES6 (ECMAScript 2015), переменные, объявленные с использованием let и const внутри блоков (например, внутри ifforwhile), ограничены этим блоком и не доступны за его пределами.

  4. CHILD Замыкание