Sobes.tech
Junior

Kādas datu struktūras pastāv JavaScript?

sobes.tech AI

Atbilde no AI

Vienkārši datu tipi: String (rindiņi), Number (skaitļi), BigInt (lieli veseli skaitļi), Boolean (loģiskais tips), Undefined (neapzīmēta vērtība), Symbol (simboli), Null (tukša vērtība).

Komplekss struktūras:

  • Object (objekts): atslēgas-vertības pāru kolekcija.
    // Vienkāršs objekts
    const user = {
      name: 'Ivans',
      age: 30
    };
    
  • Array (masīvs): elementu kārtots kolekcija.
    // Skaitļu masīvs
    const numbers = [1, 2, 3, 4, 5];
    
  • Map (karte): atslēgas-vertības pāru kolekcija, kur atslēgas var būt jebkura tipa dati un saglabā ievietošanas kārtību.
    // Dažādu tipu atslēgas
    const map = new Map();
    map.set('name', 'Pēteris');
    map.set(1, 'skaitlis');
    
  • Set (kopums): unikālas vērtības jebkura tipa.
    // Unikālu skaitļu kopums
    const set = new Set([1, 2, 2, 3, 4, 4]); // Saturēs [1, 2, 3, 4]
    
  • Typed Arrays (tipizēti masīvi): fiksēta garuma masīvi, kuru elementi ir noteikta skaitliska tipa (piemēram, Int8Array, Uint8Array, Float32Array).
    // Tipizēts baitu masīvs
    const byteArray = new Uint8Array([10, 20, 30]);
    
  • WeakMap (vājā karte): līdzīga Map, bet tās atslēgas ir objekti, un tie neapstājas atkritumu savācējs, lai izdzēstu saistītos objektus.
    // Vājā karte
    const weakMap = new WeakMap();
    const obj1 = {};
    weakMap.set(obj1, 'dati 1');
    
  • WeakSet (vājais kopums): līdzīgs Set, bet tā elementi ir objekti, un tie neapstājas atkritumu savācējs, lai izdzēstu tos.
    // Vājais kopums
    const weakSet = new WeakSet();
    const obj2 = {};
    weakSet.add(obj2);
    

Tāpat ir struktūras, kas tiek izmantotas zema līmeņa API vai pārstāv īpašus objektus:

  • ArrayBuffer: pārstāv universālu, noteiktas garuma bināro buferi.
  • DataView: nodrošina zema līmeņa saskarni skaitlisko datu lasīšanai un rakstīšanai ArrayBuffer, ļauj kontrolēt nobīdes un baitu kārtību.