JavaScript Ma'lumot Turlari (Chuqur)
JavaScript o'zgaruvchisi 8 turdagi ma'lumotni saqlashi mumkin: 7 primitiv tur va 1 obyekt turi.
Ma'lumot turlari jadvali
| Tur | Tavsif |
|---|---|
| Number | Raqamli qiymatni ifodalaydi. |
| BigInt | Katta butun sonni ifodalaydi. |
| String | Qo'shtirnoq ichidagi matn belgilari. |
| Boolean | true yoki false ni ifodalaydi. |
| Undefined | Qiymat tayinlanmagan o'zgaruvchi. |
| Null | Obyekt yo'qligini ifodalovchi qiymat. |
| Symbol | Yagona primitiv identifikator. |
| Object | Kalit-qiymat juftliklari to'plami. |
Misollar
// Number
let length = 16;
let weight = 7.5;
// BigInt
let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345);
// Strings
let color = "Yellow";
let lastName = "Johnson";
// Boolean
let x = true;
let y = false;
// Undefined
let x;
let y;
// Null
let x = null;
let y = null;
// Symbol
const x = Symbol();
const y = Symbol();
// Object
const person = {firstName:"John", lastName:"Doe"};
// Array Object
const cars = ["Saab", "Volvo", "BMW"];
// Date Object
const date = new Date("2022-03-25");Ma'lumot turlari tushunchasi
Dasturlashda ma'lumot turlari muhim tushunchadir. O'zgaruvchilar ustida amallar bajarish uchun ularning turini bilish kerak.
Ma'lumot turlarisiz kompyuter bu kodni xavfsiz hal qila olmaydi:
let x = 16 + "Volvo";16 ga "Volvo" qo'shish mantiqiymi? Bu xato beradimi yoki natija qaytaradimi?
JavaScript yuqoridagi misolni quyidagicha ishlatadi:
let x = "16" + "Volvo";Eslatma
Raqam va satrni qo'shganda, JavaScript raqamni satr sifatida ko'radi.
let x = 16 + "Volvo"; // "16Volvo"let x = "Volvo" + 16; // "Volvo16"JavaScript ifodalarni chapdan o'ngga baholaydi. Turli tartiblar turli natijalar berishi mumkin:
let x = 16 + 4 + "Volvo";
// Natija: "20Volvo"let x = "Volvo" + 16 + 4;
// Natija: "Volvo164"Birinchi misolda JavaScript 16 va 4 ni "Volvo" ga yetguncha raqam sifatida ko'radi. Ikkinchi misolda birinchi operand satr bo'lgani uchun barcha operandlar satr sifatida ko'riladi.
JavaScript turlari dinamik
JavaScript dinamik turlarga ega. Bu bir xil o'zgaruvchini turli ma'lumot turlarini saqlash uchun ishlatish mumkin degan ma'noni anglatadi:
let x; // Hozir x undefined
x = 5; // Hozir x Number
x = "John"; // Hozir x StringO'rnatilgan obyekt turlari
JavaScript obyekti JavaScript obyekti yoki foydalanuvchi tomonidan belgilangan obyekt ni ifodalashi mumkin.
| Obyekt | Tavsif |
|---|---|
| Array | Raqamli indeks bilan kirish mumkin bo'lgan qiymatlar massivi. |
| Map | Kalitlari istalgan turdagi bo'lishi mumkin bo'lgan kalit-qiymat juftliklari massivi. |
| Set | Har bir qiymat faqat bir marta uchraydigan qiymatlar massivi. |
| WeakMap | Saqlangan obyektlarga zaif havolalar bilan Map turi. |
| WeakSet | Saqlangan obyektlarga zaif havolalar bilan Set turi. |
| Math | PI va random() kabi matematik konstantalar va funksiyalarni beruvchi obyekt. |
| Date | Sana va vaqt bilan ishlash uchun obyekt. |
| RegExp | Muntazam ifodalar bilan ishlash uchun obyekt. |
| Error | Dastur bajarilishi davomida xato holatlarini ifodalovchi obyekt. |
| JSON | JSON va obyektlar o'rtasida qiymatlarni tahlil qilish metodlari mavjud obyekt. |
| Promise | Asinxron operatsiyaning tugashi yoki muvaffaqiyatsizligini ifodalovchi obyekt. |
| Int8Array | 8-bitli butun sonlarni saqlash uchun massiv. |
| Int16Array | 16-bitli butun sonlarni saqlash uchun massiv. |
| Int32Array | 32-bitli butun sonlarni saqlash uchun massiv. |
| Float16Array | 16-bitli kasr sonlarni saqlash uchun massiv. |
| Float32Array | 32-bitli kasr sonlarni saqlash uchun massiv. |
| Float64Array | 64-bitli kasr sonlarni saqlash uchun massiv. |
| BigInt64Array | 64-bitli katta butun sonlarni saqlash uchun massiv. |
typeof operatori
JavaScript typeof operatori yordamida o'zgaruvchining turini aniqlash mumkin:
typeof "" // "string" qaytaradi
typeof "John" // "string" qaytaradi
typeof "John Doe" // "string" qaytaraditypeof 0 // "number" qaytaradi
typeof 314 // "number" qaytaradi
typeof 3.14 // "number" qaytaradi
typeof (3) // "number" qaytaradi
typeof (3 + 4) // "number" qaytaradi