JavaScript dünyasında verileri düzenlemek ve bir arada tutmak için kullandığımız en güçlü araçlardan biri nesnelerdir (objects). Nesneler, gerçek hayattaki bir insanı, bir kitap kaydını ya da bir yorum sistemini yazılımda temsil etmemizi sağlar. Bu yazıda, sadece nesnelerin temelini yani object literal denilen yapıyı öğreneceğiz. Başka konulara girmeyeceğiz; sadece bir nesne nasıl tanımlanır, içine neler yazılır ve hangi veri türleri kullanılabilir, bunlara odaklanacağız.
Nesne Nedir?
Basitçe düşünelim. Bir okulda öğrencinin adını, numarasını ve sınıfını saklamak istiyoruz. Bunları ayrı ayrı üç değişkenle tutabiliriz:
const ad = "Ayşe";
const numara = 102;
const sinif = "10A";
Ama her öğrenci için ayrı ayrı değişkenler oluşturmak zor ve karmaşık hale gelir. Bunun yerine, tüm bu bilgileri tek bir değişkende toplamak çok daha düzenli olur. İşte burada nesneler devreye girer.
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.
Örnek:
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.
Örnek olarak bir kitap bilgisi tanımlayalım:
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 içinde bu kadar çeşitli veri türünü bir arada kullanabilmek, onu esnek ve güçlü bir yapı haline getirir.
Nesnelerde Sıralama Önemli mi?
Dizilerde elemanların sırası önemlidir; çünkü her elemanın bir indexi (sıra numarası) vardır. Ama nesnelerde böyle bir şey yoktur. Yani önce ad
, sonra soyad
, sonra numara
yazmak zorunda değiliz. Tek önemli olan şey, her değerin doğru anahtar altında tanımlanmış olmasıdır.
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
Son olarak 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.
Sonuç
JavaScript’te nesneler, birbiriyle ilişkili verileri düzenli bir şekilde saklamamızı sağlar. İçine farklı türde veri koyabiliriz ve bu da onları çok yönlü bir yapı haline getirir. İster bir öğrenciyi, ister bir filmi, ister bir yorumu temsil et; nesnelerle tüm bu bilgileri tek bir yerde toplayabilir ve düzenli tutabilirsin. Programlamada gerçek dünyayı modellemek istiyorsan, nesneler senin en önemli araçlarından biri olacak.
Bu yazıda, sadece nesne literal yapısını inceledik. İlerleyen konularda, bu nesnelerden nasıl veri çekilir, nasıl güncellenir gibi konulara da gireceğiz. Ama önce, bu temeli tam anlamıyla kavramak çok önemli.