Sobes.tech
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 és const segí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.