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):
letvəconstilə 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.