JavaScript'da o'zgaruvchi (variable) tushunchasi, var, let va const farqlari, scope hamda amaliy mashqlar.
JavaScript'da ma'lumot bilan ishlash uchun eng birinchi va eng muhim tushuncha — bu variable (o'zgaruvchi).
Bu bobda siz variable nima ekanini, uni qanday yaratishni, var, let va const orasidagi farqni va scope tushunchasini o'rganasiz.
Variable — ma'lumotni saqlash uchun ishlatiladigan nomlangan joy.
Uni "quti" deb tasavvur qiling: qutiga biror narsa qo'yasiz, keyin o'sha qutini nomi orqali chaqirasiz.
Agar variable bo'lmasa, har safar ma'lumotni qayta yozishga to'g'ri kelardi.
Variable orqali:
📦 Variable — bu yorliqlangan quti.
Qutiga "yosh" deb yorliq yopishtirasiz va ichiga 25 qiymatini solasiz. Keyinchalik "yosh" qutisini ochsangiz, u yerda 25 turadi.
script.jsJavaScriptlet age = 25;console.log(age);
Bu yerda age nomli variable yaratildi va unga 25 qiymati berildi. console.log orqali uning qiymati konsolga chiqarildi.
let kalit so'zi bilan variable e'lon qilinadi.age — variable nomi.= belgisi qiymat berish uchun ishlatiladi.25 — variable ichiga saqlangan qiymat.JavaScript'da variable e'lon qilinganda, engine xotiradan joy ajratadi va shu joyga nom (identifier) bog'lanadi. Bu nom orqali xotiradagi qiymatga murojaat qilish mumkin bo'ladi.
❌ Yomon:
script.jsJavaScriptlet 1age = 25;
✅ To'g'ri:
script.jsJavaScriptlet age1 = 25;
⚠️ Qoida: Variable nomi raqam bilan boshlanishi mumkin emas.
JavaScript'da variable yaratishning 3 xil usuli bor: var, let va const. Ularning har biri boshqacha qoidalarga ega.
| Xususiyat | var | let | const |
|---|---|---|---|
| Block scope | ❌ | ✅ | ✅ |
| Reassign (qayta qiymat berish) | ✅ | ✅ | ❌ |
| Redeclare (qayta e'lon qilish) | ✅ | ❌ | ❌ |
| Hoisting | ⚠️ | ⚠️ | ⚠️ |
script.jsJavaScriptvar a = 1;let b = 2;const c = 3;a = 10; // ishlaydib = 20; // ishlaydic = 30; // xatolik beradi (TypeError)
var va let bilan yaratilgan variable'larning qiymatini o'zgartirish mumkin, lekin const bilan yaratilgan variable qayta assign qilinmaydi.
💡 Asosiy qoida: Agar qiymat o'zgarmasligi kerak bo'lsa —
constishlating. Agar qiymat keyinchalik o'zgarishi mumkin bo'lsa —letishlating.var'dan hozirgi zamonaviy kodda foydalanilmaydi.
Scope — variable qayerda "ko'rinishi" va ishlatilishi mumkinligini belgilaydi.
🏠 Scope — bu xonalar tizimi.
Bir xonada qoldirgan narsangizni faqat o'sha xonada yoki umumiy koridorda topa olasiz, boshqa yopiq xonada emas.
script.jsJavaScriptfunction greet() {let message = "Salom";console.log(message);}greet();console.log(message); // Xatolik: message aniqlanmagan
message variable faqat greet funksiyasi ichida mavjud. Funksiya tashqarisidan unga murojaat qilib bo'lmaydi.
⚠️ Common Mistake: Funksiya ichida yaratilgan variable'ni tashqarida ishlatishga urinish — eng ko'p uchraydigan xatolardan biri.
script.jsJavaScriptconsole.log(x);var x = 5;
🧠 O'ylab ko'ring: Javobni ko'rishdan oldin kamida 30 soniya o'ylang.
Sababi: Bu holatvarhoisting bilan bog'liq —varbilan e'lon qilingan variable e'loni yuqoriga "ko'tariladi", lekin qiymati ko'tarilmaydi.
Quyidagi kodda xatolik bor:
script.jsJavaScriptfunction showMessage() {console.log(message);let message = "Salom";}showMessage();
To'g'ri yechim:
script.jsJavaScriptfunction showMessage() {let message = "Salom";console.log(message);}showMessage();
let — qiymatini o'zgartirish mumkin.const — qayta assign qilinmaydi (o'zgarmas).var — zamonaviy kodda deyarli ishlatilmaydi.constni birinchi tanlov qiling, kerak bo'lsagina let ishlating.vardan qochish tavsiya etiladi.let va const block scope'ga ega, var esa yo'q.script.jsJavaScriptlet age = 25; // o'zgaruvchan qiymatconst name = "Ali"; // o'zgarmas qiymatvar oldWay = true; // eski usul, tavsiya etilmaydi
Mavzu bo‘yicha tushunchalaringizni interaktiv test orqali sinovdan o‘tkazing va natijalarni bilib oling.
Darslikda o‘rganilgan qoidalarga asosan real kod yozing, testlardan o‘tkazing va yechimlarni mustahkamlang.
Test Sinovi
Hali topshirilmagan (kamida 75% kerak)
Amaliy Masalalar
0 / 3 ta yechildi (kamida 75% kerak)
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: