Tüm blog yazıları

JavaScript’te Nesneler ve Dizilerin Birlikte Kullanımı

Programlamada karşımıza en sık çıkan ihtiyaçlardan biri, verileri düzenli ve erişilebilir şekilde saklamaktır. JavaScript bu ihtiyacı karşılamak için bize iki güçlü araç sunar: diziler (arrays) ve nesneler (objects). Bu iki

eminbasbayan4 dk okuma
JavaScript’te Nesneler ve Dizilerin Birlikte Kullanımı

Programlamada karşımıza en sık çıkan ihtiyaçlardan biri, verileri düzenli ve erişilebilir şekilde saklamaktır. JavaScript bu ihtiyacı karşılamak için bize iki güçlü araç sunar: diziler (arrays) ve nesneler (objects). Bu iki yapıyı ayrı ayrı öğrenmek önemlidir, ancak onları birlikte kullanmak, yazdığımız uygulamaları çok daha anlamlı ve esnek hale getirir.

Bu yazıda, yalnızca nesne ve dizi yapılarını birlikte nasıl kullandığımızı inceleyeceğiz. Konunun daha iyi anlaşılabilmesi için örneklerimiz sade ve gerçek hayattan uyarlanmış olacaktır.

Diziler ve Nesneler: Kısa Bir Hatırlatma

Dizi (Array): Sıralı verileri saklamak için kullanılır. Her elemanın bir indeks numarası vardır.

jsx
const kitaplar = ["Sefiller", "1984", "Kürk Mantolu Madonna"];

Bu örnekte üç kitap, sıralı olarak bir liste içinde tutuluyor.

Nesne (Object): Etiketli (anahtar-değer şeklinde) verileri saklar. Her verinin neye ait olduğu, açık bir şekilde belirtilmiştir.

jsx
const kitap = {
  ad: "Sefiller",
  yazar: "Victor Hugo",
  sayfaSayisi: 1232
};

Burada kitapla ilgili bilgiler, etiketleriyle birlikte tutuluyor.

Dizi İçinde Nesne: Uygulamalarda Sık Karşımıza Çıkan Yapı

Diyelim ki bir kitap satış sitesinde sepet özelliği geliştiriyoruz. Sepette birden fazla kitap olabilir ve her kitapla ilgili bilgiler (ad, fiyat, miktar gibi) tutulmalıdır. Bu durumda dizi içinde nesne yapısı kullanılır:

jsx
const sepet = [
  {
    ad: "Sefiller",
    fiyat: 89.9,
    adet: 1
  },
  {
    ad: "Beyaz Diş",
    fiyat: 34.5,
    adet: 2
  }
];

Bu yapı sayesinde, her kitap ayrı bir nesne olarak saklanır ve sıralı şekilde dizide yer alır. Böylece kullanıcı sepetine yeni kitap ekledikçe liste genişler.

Örnek Sorgulama:

İkinci kitabın adını almak istersek:

jsx
console.log(sepet[1].ad); // "Beyaz Diş"

Nesne İçinde Dizi veya Başka Nesneler: Detaylı Bilgi Tutmak

Nesneler sadece basit veri tutmaz; içinde başka diziler veya nesneler de saklayabilir. Bu özellikle bir varlığa (örneğin bir kullanıcıya) ait birden fazla bilgi olduğunda işimize yarar.

jsx
const ogrenci = {
  isim: "Zeynep",
  hobiler: ["satranç", "yüzme", "resim"],
  notlar: {
    matematik: 85,
    tarih: 92
  }
};

Burada:

  • hobiler bir dizidir. Öğrencinin ilgi alanlarını tutar.
  • notlar başka bir nesnedir. Ders ve not bilgilerini içerir.

Örnek Sorgulama:

Tarih notuna ulaşmak:

jsx
console.log(ogrenci.notlar.tarih); // 92

Gerçek Hayattan İlham Alan Yapılar: Forum Yorumları

Forum, blog veya sosyal medya platformlarında bir gönderiye birden fazla yorum yapılabilir. Bu yorumlar, kullanıcı adı, yorum metni ve beğeni sayısı gibi bilgileri içerebilir. Bu veriyi şu şekilde tutabiliriz:

jsx
const yorumlar = [
  {
    kullanici: "Ahmet123",
    yazi: "Makale çok açıklayıcıydı, teşekkürler!",
    begeni: 12
  },
  {
    kullanici: "kitapkurdu",
    yazi: "Bence örnekler daha da geliştirilebilir.",
    begeni: 5
  }
];

Bu yapı sayesinde:

  • Her yorum nesne olarak tanımlanır.
  • Yorumlar dizi içinde sırayla yer alır.

İkinci yorumun metnine ulaşmak:

jsx
console.log(yorumlar[1].yazi);
// "Bence örnekler daha da geliştirilebilir."

Daha Karmaşık Yapılar: Gerçek Uygulamalarda Nelerle Karşılaşırız?

İnternetteki büyük sitelerin (örneğin haber siteleri, e-ticaret platformları ya da sosyal ağlar) veri yapıları genelde oldukça karmaşıktır. Bunun nedeni, kullanıcılar, gönderiler, yorumlar, resimler, beğeniler gibi çok fazla farklı türde verinin bir arada tutulmasıdır.

Örneğin bir gönderinin yapısı şu şekilde olabilir:

jsx
const gonderi = {
  baslik: "JavaScript'te Nesne Kullanımı",
  yazar: "coderay",
  yorumlar: [
    {
      kullanici: "elifdev",
      yazi: "Çok faydalı olmuş.",
      oy: 8
    },
    {
      kullanici: "mehmetintech",
      yazi: "JSON yapısına da değinebilir misiniz?",
      oy: 3
    }
  ],
  etiketler: ["javascript", "nesne", "dizi"],
  goruntulenme: 542
};

Burada:

  • yorumlar alanı, dizi içinde nesnelerden oluşuyor.
  • etiketler bir dizi.
  • Diğer alanlar metin veya sayısal değer içeriyor.

Böyle yapılar sayesinde gerçek hayattaki karmaşık bilgiler düzenli bir şekilde program içinde tutulabilir.

Sonuç: Nesne ve Dizi İş Birliği

Gerçek dünyadaki verilerin büyük çoğunluğu, hem sıralı hem de etiketli özellikler taşır. Bu nedenle JavaScript’te diziler ve nesneler birlikte kullanılarak veriler anlamlı ve düzenli hale getirilir.

Bu yazıda sadece bu yapıları birlikte kullanma konusuna odaklandık:

  • Dizi içinde nesne (yorum listesi, ürün sepeti vb.)
  • Nesne içinde dizi veya başka nesneler (kullanıcı bilgisi, öğrenci notları vb.)
  • Gerçek uygulamalarda iç içe geçmiş yapılarla karşılaşmanın doğal ve gerekli olduğu

Bu kavramları iyi kavrayan biri, gerçek projelerdeki veri yapılarıyla çok daha rahat çalışabilir. Ezber yapmaya gerek yok, önemli olan mantığını kavramak ve bol bol alıştırma yapmak.

JavaScript Classes ile pratik uygulamalar, metotlar arası iletişim ve gerçek dünya kod örnekleri
JavaScript Dersleri9 dk okuma

JavaScript Classes - Pratik Uygulamalar

JavaScript class'ları ile pratik uygulamalara geçin! Metotlar arası iletişimden constructor'da metot çağırmaya, kod tekrarını azaltmaktan gerçek dünya senaryolarına kadar class kullanımının inceliklerini keşfedin. Kendi alışveriş sepeti örneğinizle bilginizi pekiştirin.

Yazıyı oku
JavaScript class yapısını gösteren bir kod örneği, ES6 ile modern nesne oluşturma
JavaScript Dersleri9 dk okuma

JavaScript Classes

ES6 ile JavaScript'e gelen class yapısı sayesinde nesne oluşturmak artık çok daha kolay ve düzenli! Constructor function karmaşasından kurtulup, okunabilir ve yönetilebilir kodlar yazmak isteyenler için modern JavaScript'in temel taşı olan class'ları tüm detaylarıyla keşfedin. Bu rehberle nesne şabl

Yazıyı oku
JavaScript kodunda Constructor Function ve new keyword'ü ile nesne oluşturma örnekleri
JavaScript Dersleri8 dk okuma

Constructor Functions ve new Keyword

Factory Function'ların hafıza israfı sorununa Constructor Function'lar ve new keyword'ü ile son verin! Metotları paylaştırarak JavaScript objelerini daha verimli nasıl oluşturacağınızı, new'in perde arkasında neler yaptığını ve prototype sisteminin gücünü bu rehberde keşfedin.

Yazıyı oku

Çerez tercihlerin

Platformun çalışması için zorunlu çerezler kullanıyoruz. İzin verirsen anonim kullanım verilerini ölçüyoruz. Ayrıntıları incele