Sobes.tech
Junior

Ce este domeniul (scope) variabilelor în JavaScript?

sobes.tech AI

Răspuns de la AI

Domeniul de vizibilitate determină disponibilitatea variabilelor, funcțiilor și obiectelor într-o anumită parte a codului.

În JavaScript, există mai multe tipuri de domenii:

  • Domeniu global (Global Scope): Variabilele declarate în afara oricărei funcții sau blocuri sunt accesibile din orice punct al codului.
  • Domeniu de funcție (Function Scope): Variabilele declarate în interiorul unei funcții (înainte de ES6) sunt accesibile doar în interiorul acesteia și în funcțiile încorporate.
  • Domeniu de bloc (Block Scope): Variabilele declarate cu let și const în interiorul blocurilor (de exemplu, {} sau bucle) sunt accesibile doar în interiorul acestor blocuri.

Exemplu:

// Domeniu global
let globalVar = "Sunt global";

function someFunction() {
  // Domeniu de funcție (înainte de ES6)
  var functionVar = "Sunt în funcție";
  console.log(globalVar); // Variabilă globală accesibilă

  if (true) {
    // Domeniu de bloc (pentru let și const)
    let blockVar = "Sunt în bloc";
    console.log(functionVar); // Variabilă de funcție accesibilă
    console.log(blockVar); // Variabilă de bloc accesibilă
  }

  // console.log(blockVar); // Eroare: blockVar nu este accesibil aici
}

someFunction();
// console.log(functionVar); // Eroare: functionVar nu este accesibil aici

Cuvinte cheie pentru declararea variabilelor și impactul lor asupra domeniului:

Cuvânt cheie Domeniu înainte de ES6 Domeniu după ES6
var Funcțional Funcțional
let - De bloc
const - De bloc

Înțelegerea domeniului este esențială pentru evitarea conflictelor de nume ale variabilelor și pentru scrierea unui cod curat și previzibil.