Sobes.tech
Junior

JavaScript'da o'zgaruvchilar doirasi (scope) nima?

sobes.tech AI

AIdan javob

Kapsam, o'zgaruvchilar, funksiyalar va ob'ektlarning kodning ma'lum bir qismida mavjudligini belgilaydi.

JavaScriptda, bir nechta turdagi kengayishlar mavjud:

  • Global kengayish (Global Scope): Har qanday funksiya yoki blokdan tashqarida e'lon qilingan o'zgaruvchilar, kodning har qanday joyidan kirish mumkin.
  • Funksiya kengayishi (Function Scope): Funksiya ichida (ES6dan oldin) e'lon qilingan o'zgaruvchilar, faqat shu funksiya va uning ichki funksiyalarida mavjud.
  • Blok kengayishi (Block Scope): let va const yordamida bloklar ichida (masalan, {} yoki sikllar) e'lon qilingan o'zgaruvchilar, faqat shu blok ichida mavjud.

Misol:

// Global kengayish
let globalVar = "Men global";

function someFunction() {
  // Funksiya kengayishi (ES6dan oldin)
  var functionVar = "Men funksiyada";
  console.log(globalVar); // Global o'zgaruvchi kirish mumkin

  if (true) {
    // Blok kengayishi (let va const uchun)
    let blockVar = "Men blokda";
    console.log(functionVar); // Funksiya o'zgaruvchisi kirish mumkin
    console.log(blockVar); // Blok o'zgaruvchisi kirish mumkin
  }

  // console.log(blockVar); // Xato: blockVar bu yerda kirish mumkin emas
}

someFunction();
// console.log(functionVar); // Xato: functionVar bu yerda kirish mumkin emas

O'zgaruvchilarni e'lon qilish uchun kalit so'zlar va ularning kengayishiga ta'siri:

Kalit so'z ES6dan oldin kengayish ES6dan keyin kengayish
var Funksional Funksional
let - Blok kengayishi
const - Blok kengayishi

Kengayishni tushunish, o'zgaruvchilar nomlari to'qnashuvlarini oldini olish va toza, oldindan aytib bo'ladigan kod yozish uchun juda muhimdir.