JavaScript öğrenmeye başladığımızda karşımıza önce sayılar, metinler, true/false gibi basit veri türleri çıkar. Bunlar ilkel (primitive) veri tipleridir ve yalnızca tek bir değeri tutarlar. Ancak daha karmaşık yapılarla çalışmaya başladığımızda, birden fazla bilgiyi bir arada tutmamız gerekir. İşte bu noktada referans (reference) veri tipleri devreye girer. JavaScript’te en çok kullanılan referans veri tiplerinden biri de nesnelerdir (objects). Nesneler, farklı türdeki verileri tek bir yapıda bir araya getirmemize olanak tanır.
Bu yazıda yalnızca nesneleri inceleyeceğiz. Nesnelerin nasıl çalıştığını, ne zaman kullanıldığını, nasıl tanımlandığını ve neden çok işe yaradığını sade bir dille anlatacağız.

Nesneler Nedir?
Bir nesne (object), içinde anahtar-değer (key-value) çiftleri bulunduran bir yapıdır. Yani her bilgi, bir isimle birlikte saklanır. Bu isim, bilginin ne olduğunu belirtir. Nesnelerdeki her bilgi bir özelliktir (property).
Örnek:
let kitap = {
ad: "Simyacı",
yazar: "Paulo Coelho",
sayfaSayisi: 192,
basimYili: 1988
};
Bu örnekte kitap
adında bir nesne oluşturduk. Bu nesne, dört farklı bilgiyi bir arada tutuyor:
ad
→ “Simyacı”
yazar
→ “Paulo Coelho”
sayfaSayisi
→ 192
basimYili
→ 1988
Her bilgi bir anahtar (ad, yazar, sayfaSayisi, basimYili) ile birlikte verildi. Bu sayede hangi bilgi neyi ifade ediyor kolayca anlaşılabiliyor.
Dizi mi, Nesne mi?
Aynı bilgileri bir diziyle tutmaya kalkarsak şöyle bir şey olur:
let kitap = ["Simyacı", "Paulo Coelho", 192, 1988];
Burada bilgiler var ama hangisi kitap adı, hangisi sayfa sayısı belli değil. Bir sıralama kuralı uydurup bu sıraya göre ezberlemek gerekir. Ama bu hem zor hem de karışıklığa yol açar. İşte bu nedenle, bilgileri etiketleyerek saklamak için nesneler kullanılır.
Gerçek Hayattan Nesne Örneği
Bir sosyal medya uygulaması yaptığımızı düşünelim. Her kullanıcının bazı bilgileri vardır:
- kullanıcı adı
- kaç takipçisi olduğu
- profil açıklaması
- hesabın gizli olup olmadığı
Bu bilgileri şu şekilde bir nesneyle tutabiliriz:
let kullanici = {
kullaniciAdi: "elif456",
takipciSayisi: 230,
aciklama: "Kitap sever. Kahve tutkunu.",
gizliMi: false
};
Bu nesne sayesinde, bir kullanıcıyla ilgili farklı türdeki tüm verileri tek bir yapının içinde anlamlı şekilde saklamış oluruz.
Nesne Nasıl Oluşturulur?
JavaScript’te nesneleri süslü parantez {}
kullanarak oluştururuz. İçine yazdığımız her bilgi, bir anahtar-değer (key-value) çifti olarak tanımlanır. Anahtar, bir etiket gibidir; değeri temsil eder. Aralarına :
(iki nokta) koyarız. Birden fazla bilgi varsa, aralarına ,
(virgül) koyarız.
const ogrenci = {
ad: "Ayşe",
numara: 102,
sinif: "10A"
};
Bu nesne, bir öğrenciyi temsil ediyor ve onunla ilgili üç bilgi içeriyor: adı, numarası ve sınıfı.
Nesnelerde Farklı Veri Türleri Kullanmak
Nesnelerin en güzel yanlarından biri, içine istediğimiz türde bilgiyi koyabilmemizdir. Sadece yazı (string) değil, sayı (number), doğru/yanlış (boolean), dizi (array) ve hatta başka nesneleri bile yerleştirebiliriz.
const kitap = {
baslik: "Gölgedeki Kadın",
yazar: "Ahmet Demir",
sayfaSayisi: 320,
konular: ["gerilim", "macera", "psikoloji"],
satistaMi: true
};
Bu örnekte:
baslik
ve yazar
birer yazıdır.
sayfaSayisi
bir sayıdır.
konular
bir dizidir.
satistaMi
ise bir boolean (doğru/yanlış) ifadedir.
Nesne İçindeki Verilere Erişim
Bir nesne içindeki verilere ulaşmak için, ya nokta notasyonu kullanılır, ya da köşeli parantez notasyonu. Genellikle nokta notasyonu daha yaygındır.
kullanici.takipciSayisi // 230 döner
kullanici.kullaniciAdi // "elif456" döner
Eğer anahtar adı bir değişkende saklanıyorsa, köşeli parantez notasyonu kullanılır:
let bilgi = "aciklama";
console.log(kullanici[bilgi]); // "Kitap sever. Kahve tutkunu."
Sıralama Neden Önemli Değil?
Nesnelerde bilgilerin sırası önemli değildir. Çünkü her bilgi, kendi adıyla çağrılır. Yani önce “kullaniciAdi”, sonra “takipciSayisi” gelmiş ya da gelmemiş, bu JavaScript için fark etmez.
const ogrenci = {
numara: 102,
ad: "Ayşe",
sinif: "10A"
};
Yukarıdaki tanım da tamamen doğrudur ve çalışır.
Karışık Bir Örnek: Film Bilgisi
Farklı veri türlerini içeren, biraz daha kapsamlı bir nesne örneği inceleyelim:
const film = {
ad: "Sonsuz Yolculuk",
yonetmen: "Melis Yıldız",
vizyonYili: 2021,
turler: ["bilim kurgu", "dram"],
imdbPuani: 8.4,
izlenmeSayisi: 1500000,
yorumlar: {
ilkYorum: "Harikaydı!",
ikinciYorum: "Finali beklediğim gibi değildi."
},
aktifMi: false
};
Bu nesne bir filmi temsil ediyor ve içinde:
- Yazılar (
string
)
- Sayılar (
number
)
- Dizi (
array
)
- Başka bir nesne (
yorumlar
)
- Boolean (
aktifMi
) gibi farklı veri türleri yer alıyor.
Nesne Oluştururken Dikkat Edilecekler
- Her bir anahtar-değer çiftinden sonra
,
(virgül) konulmalı.
- Anahtar isimleri genellikle küçük harfle başlar ve
camelCase
dediğimiz yazım şekliyle yazılır: kullaniciAdi
, dogumTarihi
gibi.
- Değer kısmında string’ler tırnak içinde yazılırken, sayılar ve boolean değerler doğrudan yazılır.
- Nesneye
const
ile tanımlarsak, içeriğini değiştirebiliriz ama tümünü başka bir şeye eşitleyemeyiz. Bu da nesnelerin referans türünde olduğunu gösterir.
Nesnelerle Çalışmanın Avantajları
- Bilgiler anlaşılır şekilde saklanır.
- Her bilgiye ismiyle erişilir, ezber yapmaya gerek yoktur.
- Kod okunabilirliği artar.
- Karışık yapılar daha düzenli hale gelir.
- Farklı türdeki verileri bir arada tutmak mümkündür.
Sonuç
JavaScript nesneleri, yazdığımız programlarda çok çeşitli bilgileri düzenli ve anlaşılır şekilde saklamamıza yardımcı olur. Dizi kullanmanın yeterli gelmediği durumlarda nesneler devreye girer ve bize büyük kolaylık sağlar. Her bir bilgiye bir etiket (anahtar) vermek, hem kod yazarken hem de okurken işleri kolaylaştırır.
Programlamada gerçek dünyayı modellemek istiyorsan, nesneler senin en önemli araçlarından biri olacak. Bu yazıda, nesnelerin hem ne işe yaradığını hem de nasıl tanımlandığını detaylı şekilde öğrendik. İlerleyen konularda, bu nesnelerden nasıl veri çekilir, nasıl güncellenir gibi konulara da geçiş yapabiliriz.