Sobes.tech
Junior

JavaScript'te hangi veri yapıları vardır?

sobes.tech yapay zeka

AI'dan gelen yanıt

En temel veri tipleri: String (dizeler), Number (sayılar), BigInt (büyük tam sayılar), Boolean (mantıksal tip), Undefined (tanımsız değer), Symbol (semboller), Null (boş değer).

Karmaşık veri yapıları:

  • Object (nesne): Anahtar-değer çiftleri koleksiyonu.
    // Basit nesne
    const user = {
      name: 'Ivan',
      age: 30
    };
    
  • Array (dizi): Sıralı öğeler koleksiyonu.
    // Sayı dizisi
    const numbers = [1, 2, 3, 4, 5];
    
  • Map (harita): Anahtar-değer çiftleri koleksiyonu, anahtarlar herhangi bir veri tipi olabilir ve ekleme sırasını korur.
    // Farklı anahtar tiplerine sahip harita
    const map = new Map();
    map.set('name', 'Peter');
    map.set(1, 'sayı');
    
  • Set (küme): Herhangi bir veri tipinden benzersiz değerler koleksiyonu.
    // Benzersiz sayı kümesi
    const set = new Set([1, 2, 2, 3, 4, 4]); // [1, 2, 3, 4] içerecek
    
  • Typed Arrays (türlü diziler): Sabit uzunlukta diziler, öğeleri belirli sayısal türe sahip (örneğin, Int8Array, Uint8Array, Float32Array).
    // Bayt türü dizisi
    const byteArray = new Uint8Array([10, 20, 30]);
    
  • WeakMap (zayıf harita): Map'e benzer, ancak anahtarlar nesne olmalı ve çöp toplayıcı, ilişkili nesneleri kaldırabilir.
    // Zayıf harita
    const weakMap = new WeakMap();
    const obj1 = {};
    weakMap.set(obj1, 'veri 1');
    
  • WeakSet (zayıf küme): Set'e benzer, ancak öğeler nesne olmalı ve çöp toplayıcı, bunları kaldırabilir.
    // Zayıf küme
    const weakSet = new WeakSet();
    const obj2 = {};
    weakSet.add(obj2);
    

Ayrıca, düşük seviyeli API'lerde kullanılan veya özel nesneleri temsil eden yapılar da vardır:

  • ArrayBuffer: Sabit uzunlukta ikili tamponu temsil eder.
  • DataView: Bir ArrayBuffer içindeki sayısal verileri okuma ve yazma için düşük seviyeli bir arayüz sağlar, kaydırma ve bayt sırasını kontrol etmeye olanak tanır.