Sobes.tech
Junior

JavaScript hosting nima?

sobes.tech AI

AIdan javob

JavaScript hosting (yoki JavaScript hosting) JavaScript kompilyatorining xulq-atvoriga taalluqlidir, bunda o'zgaruvchilar va funksiyalar e'lonlari "yuqoriga ko'tariladi" va kod bajarilishidan oldin ularning doirasining boshiga olib chiqiladi.

Asosiy nuqtalar:

  • Faqat e'lonlar ko'tariladi, boshlang'ichlar emas. Bu shuni anglatadiki, siz kodda e'lon qilinmaganidan oldin o'zgaruvchi yoki funksiyani ishlatishingiz mumkin, ammo o'zgaruvchining qiymati boshlang'ichdan oldin undefined bo'ladi.
  • var, let/const va funksiyalar e'lonlari uchun alohida xulq-atvor.
    • var: E'lonlar ko'tariladi va boshlang'ichda undefined qiymati bilan boshlanadi.
      console.log(meningVarim); // undefined
      var meningVarim = 10;
      
    • let va const: E'lonlar ko'tariladi, ammo boshlang'ich qilinmaydi. Ularga kirish boshlang'ichdan oldin ReferenceError xatosini keltirib chiqaradi (Vaqtinchalik O'lik Zona - Temporal Dead Zone).
      // console.log(meningLetim); // ReferenceError: cannot access 'meningLetim' before initialization
      let meningLetim = 20;
      
    • Funksiya e'lonlari: Butun funksiya e'loni (ism va tanasi) ko'tariladi. Funksiyani uning e'lonidan oldin chaqirish mumkin.
      meningFunktsiyam(); // "salom"
      function meningFunktsiyam() {
        console.log("salom");
      }
      
    • Funksiya ifodalar: Faqat funksiyaga tayinlangan o'zgaruvchi (var, let yoki const) ko'tariladi. Funksiyani tayinlashdan oldin chaqirish mumkin emas.
      // meningFunktsiyaIfodam(); // TypeError: meningFunktsiyaIfodam bir funksiyaga emas (agar `var` bilan e'lon qilingan bo'lsa)
      // meningFunktsiyaIfodam(); // ReferenceError: cannot access 'meningFunktsiyaIfodam' before initialization (agar `let`/`const` bilan e'lon qilingan bo'lsa)
      var meningFunktsiyaIfodam = function() {
        console.log("dunyo");
      };
      

Hosting tushunish kodda kutilmagan xatti-harakatlar va xatolarni oldini olish uchun muhimdir. let va const dan foydalanish o'zgaruvchilar e'lonining xulq-atvorini yanada oldindan bilish mumkin qiladi.