Junior
JavaScript hosting nədir?
sobes.tech Süni İntellekt
AI-dan cavab
JavaScript hosting (və ya JavaScript hosting) JavaScript tərtibçisinin davranışına aiddir, burada dəyişən və funksiyaların bəyanatları "yuxarıya qaldırılır" və kodun icrasından əvvəl onların sahəsinin başlanğıcına gətirilir.
Əsas nöqtələr:
- Yalnız bəyanatlar yuxarıya qaldırılır, başlanğıclar yox. Bu, kodda bəyan edilməmişdən əvvəl dəyişən və ya funksiyanı istifadə edə biləcəyiniz, lakin dəyişənin dəyərinin başlanğıcdan əvvəl
undefinedolacağı anlamına gəlir. var,let/constvə funksiyaların bəyanatları üçün ayrılmış davranış.var: Bəyanatlar yuxarıya qaldırılır və başlanğıcdaundefineddəyəri ilə başlatılır.console.log(mənimDəyişənim); // undefined var mənimDəyişənim = 10;letvəconst: Bəyanatlar yuxarıya qaldırılır, lakin başlanğıc edilməz. Onlara giriş başlanğıcdan əvvəlReferenceErrorxətasına səbəb olur (Müvəqqəti Ölüm Zonası - Temporal Dead Zone).// console.log(mənimLetim); // ReferenceError: cannot access 'mənimLetim' before initialization let mənimLetim = 20;- Funksiya bəyanatları: Bütün funksiya bəyanatı (ad və bədən) yuxarıya qaldırılır. Funksiya onun bəyanatından əvvəl çağırıla bilər.
mənimFəaliyyətim(); // "salam" function mənimFəaliyyətim() { console.log("salam"); } - Funksiya ifadələri: Yalnız funksiyaya təyin olunan dəyişən (
var,letvə yaconst) yuxarıya qaldırılır. Funksiya təyin edilmədən əvvəl çağırıla bilməz.// mənimFəaliyyətİfadəm(); // TypeError: mənimFəaliyyətİfadəm bir funksiya deyil (əgər `var` ilə bəyan edilibsə) // mənimFəaliyyətİfadəm(); // ReferenceError: cannot access 'mənimFəaliyyətİfadəm' before initialization (əgər `let`/`const` ilə bəyan edilibsə) var mənimFəaliyyətİfadəm = function() { console.log("dünya"); };
Hosting-i anlamaq kodda gözlənilməz davranış və səhvlərin qarşısını almaq üçün vacibdir. let və const istifadə etmək dəyişən bəyanatlarının davranışını daha proqnozlaşdırıla bilən edir.