Junior
JavaScript-də sahə nədir?
sobes.tech Süni İntellekt
AI-dan cavab
JavaScript-də Görünüş sahəsi (Scope), dəyişənlərin və funksiyaların təyin olunduğu və əlçatan olduğu kontekstdir.
Sadə desək, kodda dəyişən və ya funksiyaya müraciət edə biləcəyiniz yeri müəyyən edir.
Bir neçə növ görünüş sahəsi mövcuddur:
- Qlobal Görünüş Sahəsi (Global Scope): Hər hansı bir funksiyadan kənarda elan olunan dəyişənlər qlobal görünüş sahəsindədir. Onlara kodun hər yerindən daxil olmaq mümkündür.
// Qlobal dəyişən let globalVar = "Hər yerdə görünür"; function showGlobal() { console.log(globalVar); // Funksiya daxilində mövcuddur } showGlobal(); - Yerli (Funksiya) Görünüş Sahəsi (Local/Function Scope): Funksiya daxilində elan olunan dəyişənlər həmin funksiyanın yerli görünüş sahəsindədir. Onlar yalnız bu funksiyada və iç-içə funksiyalarda əlçatan, xaricdə isə yox.
function showLocal() { // Yerli dəyişən let localVar = "Yalnız burada görünür"; console.log(localVar); } showLocal(); // console.log(localVar); // Xəta: localVar təyin olunmayıb - Blok Görünüş Sahəsi (Block Scope): ES6 (ES2015) ilə
letvəconstistifadə edilərək təqdim olunub.{}içində, məsələn, kod blokları, döngələr və ya şərtlər daxilində elan olunan dəyişənlər blok görünüş sahəsinə malikdir.varilə elan olunan dəyişənlər isə blok görünüş sahəsinə malik deyil.if (true) { // Blok görünüş sahəsinə malik dəyişən let blockVar = "Yalnız bu blokda görünür"; console.log(blockVar); } // console.log(blockVar); // Xəta: blockVar təyin olunmayıb for (let i = 0; i < 2; i++) { // Döngüdə blok görünüş sahəsinə malik dəyişən console.log(i); } // console.log(i); // Xəta: i təyin olunmayıb (əgər let istifadə olunubsa)
Həmçinin, Scope Chain (Görünüş Zənciri) anlayışını başa düşmək vacibdir. JavaScript, bir dəyişənin dəyərini tapmağa çalışarkən əvvəlcə cari görünüşdə axtarır. Əgər tapmazsa, xarici (valideyn) görünüşə keçir və bu şəkildə davam edir, ən sonunda qlobal görünüşə çatır. Əgər dəyişən heç yerdə tapılmazsa, ReferenceError xətası atılır.