Junior
Šta je opseg (scope) promenljivih u JavaScript-u?
sobes.tech АИ
Одговор од АИ
Област видљивости одређује доступност променљивих, функција и објеката у одређеном делу кода.
У JavaScript-у постоји неколико типова области видљивости:
- Глобална област (Global Scope): Променљиве које су изјављене изван било које функције или блока, доступне су са било ког места у коду.
- Област функције (Function Scope): Променљиве које су изјављене унутар функције (пре ES6), доступне су само унутар те функције и унутрашњих функција.
- Област блока (Block Scope): Променљиве изјављене помоћу
letиconstунутар блокова (нпр.{}или петљи), доступне су само унутар тог блока.
Пример:
// Глобална област
let globalVar = "Ја сам глобалан";
function someFunction() {
// Област функције (пре ES6)
var functionVar = "Ја сам унутар функције";
console.log(globalVar); // Доступна глобална променљива
if (true) {
// Област блока (за let и const)
let blockVar = "Ја сам унутар блока";
console.log(functionVar); // Доступна променљива функције
console.log(blockVar); // Доступна променљива блока
}
// console.log(blockVar); // Грешка: blockVar није доступна овде
}
someFunction();
// console.log(functionVar); // Грешка: functionVar није доступна овде
Кључне речи за декларацију променљивих и њихов утицај на област:
| Кључна реч | Област пре ES6 | Област после ES6 |
|---|---|---|
var |
Функционална | Функционална |
let |
- | Блокова |
const |
- | Блокова |
Разумевање области је кључно за избегавање конфликата имена променљивих и писање чистог и предвидљивог кода.