Junior
Čo je to rozsah (scope) premenných v JavaScriptu?
sobes.tech AI
Odpoveď od AI
Rozsah určuje dostupnosť premenných, funkcií a objektov v určitej časti kódu.
V JavaScripte existuje niekoľko typov rozsahu:
- Globálny rozsah (Global Scope): Premenné deklarované mimo akúkoľvek funkciu alebo blok sú dostupné z ktorejkoľvek časti kódu.
- Rozsah funkcie (Function Scope): Premenné deklarované vo vnútri funkcie (pred ES6) sú dostupné iba v tejto funkcii a vo vnorených funkciách.
- Blokový rozsah (Block Scope): Premenné deklarované pomocou
letaconstv rámci blokov (napríklad{}alebo slučky) sú dostupné iba v rámci tohto bloku.
Príklad:
// Globálny rozsah
let globalVar = "Som globálny";
function someFunction() {
// Rozsah funkcie (pred ES6)
var functionVar = "Som vo funkcii";
console.log(globalVar); // Prístupná globálna premenná
if (true) {
// Blokový rozsah (pre let a const)
let blockVar = "Som v bloku";
console.log(functionVar); // Prístupná premenná funkcie
console.log(blockVar); // Prístupná premenná bloku
}
// console.log(blockVar); // Chyba: blockVar nie je dostupná tu
}
someFunction();
// console.log(functionVar); // Chyba: functionVar nie je dostupná tu
Kľúčové slová na deklaráciu premenných a ich vplyv na rozsah:
| Kľúčové slovo | Pred ES6 rozsah | Po ES6 rozsah |
|---|---|---|
var |
Funkčný | Funkčný |
let |
- | Blokový |
const |
- | Blokový |
Porozumenie rozsahu je kľúčové na predchádzanie konfliktom mien premenných a na písanie čistého a predvídateľného kódu.