Skip to content

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

TurTavsif
NumberRaqamli qiymatni ifodalaydi.
BigIntKatta butun sonni ifodalaydi.
StringQo'shtirnoq ichidagi matn belgilari.
Booleantrue yoki false ni ifodalaydi.
UndefinedQiymat tayinlanmagan o'zgaruvchi.
NullObyekt yo'qligini ifodalovchi qiymat.
SymbolYagona primitiv identifikator.
ObjectKalit-qiymat juftliklari to'plami.

Misollar

js
// 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:

js
let x = 16 + "Volvo";

16 ga "Volvo" qo'shish mantiqiymi? Bu xato beradimi yoki natija qaytaradimi?

JavaScript yuqoridagi misolni quyidagicha ishlatadi:

js
let x = "16" + "Volvo";

Eslatma

Raqam va satrni qo'shganda, JavaScript raqamni satr sifatida ko'radi.

js
let x = 16 + "Volvo";  // "16Volvo"
js
let x = "Volvo" + 16;  // "Volvo16"

JavaScript ifodalarni chapdan o'ngga baholaydi. Turli tartiblar turli natijalar berishi mumkin:

js
let x = 16 + 4 + "Volvo";
// Natija: "20Volvo"
js
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:

js
let x;         // Hozir x undefined
x = 5;         // Hozir x Number
x = "John";    // Hozir x String

O'rnatilgan obyekt turlari

JavaScript obyekti JavaScript obyekti yoki foydalanuvchi tomonidan belgilangan obyekt ni ifodalashi mumkin.

ObyektTavsif
ArrayRaqamli indeks bilan kirish mumkin bo'lgan qiymatlar massivi.
MapKalitlari istalgan turdagi bo'lishi mumkin bo'lgan kalit-qiymat juftliklari massivi.
SetHar bir qiymat faqat bir marta uchraydigan qiymatlar massivi.
WeakMapSaqlangan obyektlarga zaif havolalar bilan Map turi.
WeakSetSaqlangan obyektlarga zaif havolalar bilan Set turi.
MathPI va random() kabi matematik konstantalar va funksiyalarni beruvchi obyekt.
DateSana va vaqt bilan ishlash uchun obyekt.
RegExpMuntazam ifodalar bilan ishlash uchun obyekt.
ErrorDastur bajarilishi davomida xato holatlarini ifodalovchi obyekt.
JSONJSON va obyektlar o'rtasida qiymatlarni tahlil qilish metodlari mavjud obyekt.
PromiseAsinxron operatsiyaning tugashi yoki muvaffaqiyatsizligini ifodalovchi obyekt.
Int8Array8-bitli butun sonlarni saqlash uchun massiv.
Int16Array16-bitli butun sonlarni saqlash uchun massiv.
Int32Array32-bitli butun sonlarni saqlash uchun massiv.
Float16Array16-bitli kasr sonlarni saqlash uchun massiv.
Float32Array32-bitli kasr sonlarni saqlash uchun massiv.
Float64Array64-bitli kasr sonlarni saqlash uchun massiv.
BigInt64Array64-bitli katta butun sonlarni saqlash uchun massiv.

typeof operatori

JavaScript typeof operatori yordamida o'zgaruvchining turini aniqlash mumkin:

js
typeof ""          // "string" qaytaradi
typeof "John"      // "string" qaytaradi
typeof "John Doe"  // "string" qaytaradi
js
typeof 0         // "number" qaytaradi
typeof 314       // "number" qaytaradi
typeof 3.14      // "number" qaytaradi
typeof (3)       // "number" qaytaradi
typeof (3 + 4)   // "number" qaytaradi