JavaScript'da ma'lumot turlari, 7 ta primitive va reference turlar, undefined vs null farqi, typeof operatori hamda barcha mashq va testlar.
Variable ichiga turli xil ma'lumot turlarini saqlash mumkin. Bu bobda JavaScript'dagi asosiy data typelarni o'rganamiz.
Data Type — variable ichida saqlanayotgan ma'lumotning turi (masalan: son, matn, true/false va h.k.).
Har xil ma'lumot bilan har xil amal bajariladi:
Shuning uchun JavaScript ma'lumot turini bilishi kerak.
🧺 Data Type — bu narsalarning turi.
Savatda olma, kitob va pul bo'lishi mumkin — har biri boshqa turdagi narsa va ular bilan boshqa-boshqa ish qilinadi.
script.jsJavaScriptlet age = 25; // numberlet name = "Abbosbek"; // stringlet isStudent = true; // boolean
Har bir variable turli xil qiymat turini saqlamoqda: son, matn va mantiqiy qiymat.
JavaScript'da 7 ta primitive (asosiy) data type mavjud.
| Type | Misol | Tavsif |
|---|---|---|
| String | "Salom" | Matn |
| Number | 25, 3.14 | Son |
| Boolean | true, false | Mantiqiy qiymat |
| Undefined | undefined | Qiymat berilmagan |
| Null | null | Ataylab bo'sh qiymat |
| BigInt | 123n | Juda katta son |
| Symbol | Symbol() | Noyob identifikator |
script.jsJavaScriptlet city = "Toshkent";let temperature = 24;let isSunny = true;let result;let empty = null;console.log(typeof city); // "string"console.log(typeof temperature); // "number"console.log(typeof isSunny); // "boolean"console.log(typeof result); // "undefined"console.log(typeof empty); // "object"
typeof operatori variable qanday turdagi ma'lumot saqlayotganini aniqlab beradi.
⚠️ Common Mistake
typeof null natijasi "object" bo'ladi — bu JavaScript'dagi tarixiy xato hisoblanadi, lekin hozir ham shunday ishlaydi.
undefined — variable'ga hali qiymat berilmagan.null — dasturchi ataylab "bu yerda qiymat yo'q" deb belgilagan.📭 undefined — pochta qutisi hali tekshirilmagan.
📪 null — pochta qutisi tekshirilgan va u bo'sh ekani ma'lum.
script.jsJavaScriptlet a;let b = null;console.log(a); // undefinedconsole.log(b); // null
💡 Key Idea
undefined — JavaScript beradigan standart holat. null — dasturchi o'zi qo'yadigan qiymat.
Primitive'dan tashqari, JavaScript'da object asosidagi turlar ham bor: Object, Array, Function.
script.jsJavaScriptlet person = { name: "Ali", age: 20 };let numbers = [1, 2, 3];function sayHi() {return "Salom";}console.log(typeof person); // "object"console.log(typeof numbers); // "object"console.log(typeof sayHi); // "function"
Object, Array va Function — barchasi object asosida quriladi, lekin Array va Function alohida xususiyatlarga ega.
🔗 Connection
Object va Array haqida keyingi boblarda batafsil to'xtalamiz.
Task:
Quyidagi variable'larning data type'ini typeof yordamida aniqlang: 10, "salom", true.
Required Concepts:
typeof operatorHint:
console.log(typeof qiymat) shaklida yozing.
Task:
price nomli variable yarating, qiymati null bo'lsin. Keyin uning typeof natijasini chiqaring va nima uchun bunday natija chiqishini izohlang.
Required Concepts:
nulltypeofHint:
Bu — JavaScript'dagi mashhur "xato" ekanini eslang.
Task:
Quyidagi ikkita ifodaning natijasini oldindan ayting, keyin tekshiring:
script.jsJavaScriptconsole.log(typeof undefined);console.log(typeof NaN);
Required Concepts:
typeofNaNHint:
NaN ham aslida "Number" turiga kiradi.
script.jsJavaScriptlet value;console.log(typeof value);
🧠 Think first! Javobni ko'rishdan oldin kamida 30 soniya o'ylang.
<details> <summary>Answer</summary> "undefined"Why?
value variable e'lon qilingan, lekin unga hech qanday qiymat berilmagan, shuning uchun uning turi undefined bo'ladi.
Quyidagi kodda muammo bor:
script.jsJavaScriptlet user = null;if (typeof user === "null") {console.log("User yo'q");}
Your Task:
Yechim:
</details>script.jsJavaScriptlet user = null;if (user === null) {console.log("User yo'q");}
undefined — qiymat berilmagan, null — ataylab bo'sh.typeof orqali data type aniqlanadi.typeof null — "object" (tarixiy xato).undefined avtomatik, null qo'lda beriladi.script.jsJavaScriptlet str = "text"; // stringlet num = 42; // numberlet bool = true; // booleanlet undef; // undefinedlet empty = null; // nulllet obj = { a: 1 }; // objectlet arr = [1, 2, 3]; // object (array)
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: