Sobes.tech
Junior

Koje strukture podataka postoje u JavaScriptu?

sobes.tech АИ

Одговор од АИ

Najjednostavniji tipovi podataka: String (nizovi), Number (brojevi), BigInt (veliki celi brojevi), Boolean (logički tip), Undefined (neodređena vrednost), Symbol (simboli), Null (prazna vrednost).

Složene strukture podataka:

  • Object (objekat): Kolekcija parova ključ-vrednost.
    // Jednostavan objekat
    const user = {
      name: 'Ivan',
      age: 30
    };
    
  • Array (niz): Uređena kolekcija elemenata.
    // Niz brojeva
    const numbers = [1, 2, 3, 4, 5];
    
  • Map (mapa): Kolekcija parova ključ-vrednost, gde ključevi mogu biti bilo kog tipa i čuvaju redosled umetanja.
    // Mapa sa različitim tipovima ključeva
    const map = new Map();
    map.set('name', 'Peter');
    map.set(1, 'broj');
    
  • Set (skup): Kolekcija jedinstvenih vrednosti bilo kog tipa.
    // Skup jedinstvenih brojeva
    const set = new Set([1, 2, 2, 3, 4, 4]); // Sadržaće [1, 2, 3, 4]
    
  • Typed Arrays (tipizirani nizovi): Nizovi fiksne dužine, čiji elementi imaju određeni numerički tip (npr. Int8Array, Uint8Array, Float32Array).
    // Tipizirani niz bajtova
    const byteArray = new Uint8Array([10, 20, 30]);
    
  • WeakMap (slaba mapa): Slično Map, ali ključevi moraju biti objekti, i ne sprečavaju sakupljač smeća da ukloni povezane objekte.
    // Slaba mapa
    const weakMap = new WeakMap();
    const obj1 = {};
    weakMap.set(obj1, 'podatak 1');
    
  • WeakSet (slaba kolekcija): Slično Set, ali elementi moraju biti objekti, i ne sprečavaju sakupljač smeća da ukloni te objekte.
    // Slaba kolekcija
    const weakSet = new WeakSet();
    const obj2 = {};
    weakSet.add(obj2);
    

Takođe postoje strukture koje se koriste u niskonivoj API-ju ili predstavljaju posebne objekte:

  • ArrayBuffer: Predstavlja univerzalni, fiksne dužine binarni bafer.
  • DataView: Pruža niskonivojski interfejs za čitanje i pisanje numeričkih podataka u ArrayBuffer, omogućavajući kontrolu pomaka i reda bajtova.