Junior
Mi az a változók láthatósága (scope) JavaScript-ben?
sobes.tech MI
Válasz az MI-től
A láthatósági terület meghatározza a változók, függvények és objektumok elérhetőségét a kód egy adott részében.
A JavaScript-ben többféle láthatósági terület létezik:
- Globális láthatósági terület (Global Scope): Bármilyen függvény vagy blokk kívül deklarált változók mindenhol elérhetők a kódban.
- Függvény láthatósági terület (Function Scope): A függvényen belül (ES6 előtt) deklarált változók csak ezen a függvényen belül és a beágyazott függvényekben érhetők el.
- Blokk szintű láthatósági terület (Block Scope): A
letésconstsegítségével blokkban (pl.{}vagy ciklusokban) deklarált változók csak ezen a blokkban érhetők el.
Példa:
// Globális láthatósági terület
let globalVar = "Én vagyok globális";
function someFunction() {
// Függvény szintű láthatósági terület (ES6 előtt)
var functionVar = "Én vagyok a függvényben";
console.log(globalVar); // Globális változó elérhető
if (true) {
// Blokk szintű láthatósági terület (let és const)
let blockVar = "Én vagyok a blokkban";
console.log(functionVar); // Függvény változó elérhető
console.log(blockVar); // Blokk változó elérhető
}
// console.log(blockVar); // Hiba: a blockVar nem elérhető itt
}
someFunction();
// console.log(functionVar); // Hiba: a functionVar nem elérhető itt
Kulcsszavak a változók deklarálásához és hatásuk a láthatóságra:
| Kulcsszó | ES6 előtt láthatóság | ES6 után láthatóság |
|---|---|---|
var |
Funkcionális | Funkcionális |
let |
- | Blokkszintű |
const |
- | Blokkszintű |
A láthatóság megértése kulcsfontosságú a változónevek ütközéseinek elkerülése és a tiszta, előre jelezhető kód írása érdekében.