Junior
JavaScriptda qanday ma'lumotlar tuzilmalari mavjud?
sobes.tech AI
AIdan javob
Eng oddi eng oddi: String (matnlar), Number (raqamlar), BigInt (katta butun raqamlar), Boolean (mantiqiy tur), Undefined (belgilanmagan qiymat), Symbol (ramzlar), Null (bo'sh qiymat).
Murakkab ma'lumot tuzilmalari:
- Object (obyekt): Kalit-qiymat juftliklari to'plami.
// Oddiy obyekt const user = { name: 'Ivan', age: 30 }; - Array (massiv): Elementlarning tartiblangan to'plami.
// Raqamlar massiv const numbers = [1, 2, 3, 4, 5]; - Map (xarita): Kalit-qiymat juftliklari to'plami, kalitlar har qanday ma'lumot turidan bo'lishi mumkin va kiritish tartibini saqlaydi.
// Turli xil kalit turlariga ega xarita const map = new Map(); map.set('name', 'Peter'); map.set(1, 'raqam'); - Set (to'plam): Har qanday ma'lumot turidan unikal qiymatlar to'plami.
// Unikal raqamlar to'plami const set = new Set([1, 2, 2, 3, 4, 4]); // [1, 2, 3, 4] bo'ladi - Typed Arrays (tipli massivlar): Belgilangan uzunlikdagi massivlar, ularning elementlari aniq raqamli turga ega (masalan,
Int8Array,Uint8Array,Float32Array).// Tipli bayt massiv const byteArray = new Uint8Array([10, 20, 30]); - WeakMap (zaif xarita):
Mapga o'xshash, lekin uning kalitlari obyektlar bo'lishi kerak va ular garbage collector tomonidan olib tashlanmaydi.// Zaif xarita const weakMap = new WeakMap(); const obj1 = {}; weakMap.set(obj1, 'ma`lumot 1'); - WeakSet (zaif to'plam):
Setga o'xshash, lekin uning elementlari obyektlar bo'lishi kerak va ular garbage collector tomonidan olib tashlanmaydi.// Zaif to'plam const weakSet = new WeakSet(); const obj2 = {}; weakSet.add(obj2);
Shuningdek, past darajadagi API-larda ishlatiladigan yoki maxsus obyektlarni ifodalovchi tuzilmalar ham mavjud:
ArrayBuffer: Universal, uzunligi belgilangan ikkilik buffer.DataView:ArrayBufferichidagi raqamli ma'lumotlarni o'qish va yozish uchun past darajadagi interfeys, bu offsetlar va bayt tartibini nazorat qilish imkonini beradi.