Sobes.tech
Junior

JavaScript-də hansı məlumat strukturları mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

Ən sadə məlumat növləri: String (sətirlər), Number (ədədlər), BigInt (böyük tam ədədlər), Boolean (məntiqi tip), Undefined (təyin edilməmiş dəyər), Symbol (simvollar), Null (boş dəyər).

Mürəkkəb məlumat strukturları:

  • Object (obyekt): Açar-dəyər cütlüklərinin toplusu.
    // Sadə obyekt
    const user = {
      name: 'Ivan',
      age: 30
    };
    
  • Array (massiv): Elementlərin ardıcıl toplusu.
    // Rəqəmlər massiv
    const numbers = [1, 2, 3, 4, 5];
    
  • Map (xəritə): Açar-dəyər cütlüklərinin toplusu, burada açarlar hər hansı məlumat tipində ola bilər və daxil etmə ardıcıllığını saxlayır.
    // Müxtəlif açar tiplərinə malik xəritə
    const map = new Map();
    map.set('name', 'Peter');
    map.set(1, 'rəqəm');
    
  • Set (toplama): Hər hansı məlumat tipindən unikal dəyərlər toplusu.
    // Unikal rəqəmlər toplusu
    const set = new Set([1, 2, 2, 3, 4, 4]); // [1, 2, 3, 4] saxlayacaq
    
  • Typed Arrays (tiplənmiş massivlər): Sabit uzunluqlu massivlər, onların elementləri müəyyən sayısal tiplərə malikdir (məsələn, Int8Array, Uint8Array, Float32Array).
    // Tiplənmiş bayt massiv
    const byteArray = new Uint8Array([10, 20, 30]);
    
  • WeakMap (zəif xəritə): Map-ə bənzəyir, lakin onun açarları obyekt olmalıdır və onlar çöp toplayıcısının əlaqəli obyektləri silməsinə mane olmur.
    // Zəif xəritə
    const weakMap = new WeakMap();
    const obj1 = {};
    weakMap.set(obj1, 'məlumat 1');
    
  • WeakSet (zəif toplu): Set-ə bənzəyir, lakin onun elementləri obyekt olmalıdır və onlar çöp toplayıcısının onları silməsinə mane olmur.
    // Zəif toplu
    const weakSet = new WeakSet();
    const obj2 = {};
    weakSet.add(obj2);
    

Həmçinin, aşağı səviyyəli API-lərdə istifadə olunan və ya xüsusi obyektləri təmsil edən strukturlar da mövcuddur:

  • ArrayBuffer: Ümumi, sabit uzunluqlu ikili tamponu təmsil edir.
  • DataView: ArrayBuffer içindəki sayısal məlumatları oxuma və yazma üçün aşağı səviyyəli interfeys təmin edir, bu, ofsetləri və bayt sırasını idarə etməyə imkan verir.