Sobes.tech
Junior

JavaScript-də dəyişənlərin sahəsi (scope) nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Görünürlük sahəsi, dəyişənlərin, funksiyaların və obyektlərin kodun müəyyən bir hissəsində əlçatanlığını müəyyən edir.

JavaScript-də müxtəlif növ görünürlük sahələri mövcuddur:

  • Qlobal sahə (Global Scope): Hər hansı funksiya və ya blokdan kənarda elan olunan dəyişənlər, kodun hər yerindən əlçatan olur.
  • Funksiya sahəsi (Function Scope): Bir funksiyanın içində (ES6-dan əvvəl) elan olunan dəyişənlər, yalnız həmin funksiyada və iç-içə funksiyalarda əlçatan olur.
  • Blok sahəsi (Block Scope): letconst ilə bloklar daxilində (məsələn, {} və ya döngülər) elan olunan dəyişənlər, yalnız həmin blok daxilində əlçatan olur.

Nümunə:

// Qlobal sahə
let globalVar = "Mən qlobalam";

function someFunction() {
  // Funksiya sahəsi (ES6-dan əvvəl)
  var functionVar = "Mən funksiyada";
  console.log(globalVar); // Qlobal dəyişən əlçatan

  if (true) {
    // Blok sahəsi (let və const üçün)
    let blockVar = "Mən blokdayam";
    console.log(functionVar); // Funksiya dəyişəni əlçatan
    console.log(blockVar); // Blok dəyişəni əlçatan
  }

  // console.log(blockVar); // Xəta: blockVar burada əlçatan deyil
}

someFunction();
// console.log(functionVar); // Xəta: functionVar burada əlçatan deyil

Dəyişənləri elan etmək üçün açar sözlər və onların sahəyə təsiri:

Açar söz ES6-dan əvvəl sahə ES6-dan sonra sahə
var Funksional Funksional
let - Blok sahəsi
const - Blok sahəsi

Sahəni anlamaq, dəyişən adlarının qarşıdurmalarını qarşısını almaq və təmiz, proqnozlaşdırıla bilən kod yazmaq üçün çox vacibdir.