Область видимості
Область видимості змінних (variable scope) визначає, де ці змінні можуть бути доступні та використані в програмі. В JavaScript, область видимості змінних визначається областю, в якій ці змінні можуть бути доступні для звернення.
У JavaScript існують три типи областей видимості змінних:
Глобальна область видимості (Global Scope): Змінні, які оголошені поза будь-якою функцією або блоком коду, мають глобальну область видимості і можуть бути доступні з будь-якої частини програми.
Локальна область видимості (Local Scope): Змінні, оголошені всередині функції або блоку коду, мають локальну область видимості. Ці змінні доступні лише всередині тієї функції або блоку, в якій вони були оголошені.
Блочна область видимості (Block Scope): Введено в ECMAScript 6 (ES6) за допомогою let та const. Змінні, оголошені всередині блоку коду (наприклад, умовного оператора if, циклу for, тощо) за допомогою let або const, мають область видимості тільки всередині цього блоку. Будь-яка конструкція, яка використовує фігурні дужки {} (умови, цикли, функції тощо), створює нову локальну область видимості.
Змінні, оголошені за допомогою var (перед введенням ES6), мали проблему з областю видимості, оскільки вони мали функціональну область видимості (функціональні змінні були доступні у всій функції). З let та const, область видимості змінних більш передбачувана, що полегшує контроль за областями видимості змінних в програмах JavaScript.
Глибина вкладеності областей видимості - необмежена. Всі вони будуть працювати за одним принципом: область видимості має доступ до всіх змінних, оголошених вище по ієрархії вкладеності, але не може отримати доступ до змінних, оголошених у вкладених областях видимості.
Last updated