JavaScript, veri yapılarının ve mantıklarının oluşturulmasında esnek ve güçlü bir dil olarak bilinir. Nesneler (objects), JavaScript programlamasının temel taşlarından biridir ve veriyi daha yapılandırılmış bir şekilde saklamak ve yönetmek için kullanılır. Bu makalede, JavaScript'te nesnelerin ne olduğunu, nasıl oluşturulduklarını ve kullanıldıklarını inceleyeceğiz.
Nesne, birbiriyle ilişkili veri ve işlevleri bir araya getiren bir veri yapısıdır. Nesneler, özellikler (properties) ve yöntemlerden (methods) oluşur. Özellikler, nesnenin sahip olduğu verileri temsil ederken, yöntemler bu verilere uygulanabilecek işlevleri temsil eder.
Örnek bir nesne:
let araba = {
marka: "Toyota",
model: "Corolla",
yil: 2020,
calistir: function() {
console.log("Araba çalıştı");
}
};
Bu örnekte, araba
nesnesi marka
, model
ve yil
adında üç özelliğe ve calistir
adında bir metoda sahiptir.
JavaScript'te nesne oluşturmanın birkaç farklı yolu vardır:
Nesne Literali Kullanarak: En yaygın ve basit yöntemdir. Yukarıdaki örnek, nesne literalini kullanarak bir nesne oluşturmayı gösterir.
let kedi = {
isim: "Pamuk",
yas: 2,
miyavla: function() {
console.log("Miyav!");
}
};
new Object()
Kullanarak: Bu yöntem, JavaScript'in yerleşik Object
yapıcısını kullanarak bir nesne oluşturur.
let kopek = new Object();
kopek.isim = "Karabaş";
kopek.yas = 3;
kopek.havla = function() {
console.log("Hav hav!");
};
Constructor Fonksiyonları Kullanarak: Daha karmaşık nesneler oluşturmak için kullanılır. Bir yapıcı fonksiyon tanımlanır ve new
anahtar kelimesi ile nesneler oluşturulur.
function Insan(isim, yas) {
this.isim = isim;
this.yas = yas;
this.tanit = function() {
console.log(`Merhaba, benim adım ${this.isim} ve ben ${this.yas} yaşındayım.`);
};
}
let insan1 = new Insan("Ahmet", 30);
let insan2 = new Insan("Ayşe", 25);
Nesne özelliklerine ve yöntemlerine erişmek için nokta notasyonu (.
) veya köşeli parantez notasyonu ([]
) kullanılabilir.
Örnekler:
let kitap = {
baslik: "JavaScript 101",
yazar: "John Doe",
yayinYili: 2021,
bilgiVer: function() {
console.log(`${this.baslik}, ${this.yazar} tarafından yazılmıştır.`);
}
};
// Nokta Notasyonu ile Erişim
console.log(kitap.baslik); // JavaScript 101
kitap.bilgiVer(); // JavaScript 101, John Doe tarafından yazılmıştır.
// Köşeli Parantez Notasyonu ile Erişim
console.log(kitap["yazar"]); // John Doe
Nesne metotları, nesne özelliklerine ve diğer metodlarına erişebilir. Bu, this
anahtar kelimesi ile yapılır.
Örnek:
let ogrenci = {
isim: "Ali",
notlar: [90, 80, 70],
ortalamaHesapla: function() {
let toplam = 0;
for(let not of this.notlar) {
toplam += not;
}
return toplam / this.notlar.length;
}
};
console.log(`${ogrenci.isim}'nin not ortalaması: ${ogrenci.ortalamaHesapla()}`); // Ali'nin not ortalaması: 80
Bir nesnedeki tüm özellikleri ve değerlerini dolaşmak için for...in
döngüsü kullanılır.
Örnek:
let bilgisayar = {
marka: "Dell",
model: "XPS 15",
yil: 2022
};
for(let ozellik in bilgisayar) {
console.log(`${ozellik}: ${bilgisayar[ozellik]}`);
}
JavaScript'te mevcut bir nesneye dinamik olarak yeni özellikler eklenebilir veya mevcut özellikler silinebilir.
Örnek:
let telefon = {
marka: "Apple",
model: "iPhone 13"
};
// Yeni özellik ekleme
telefon.renk = "Siyah";
console.log(telefon.renk); // Siyah
// Özellik silme
delete telefon.model;
console.log(telefon.model); // undefined
Nesneler, JavaScript'te veriyi yapılandırmanın ve yönetmenin güçlü bir yoludur. Onları kullanarak, ilişkili verileri ve işlevleri bir araya getirebilir ve kodunuzu daha modüler ve okunabilir hale getirebilirsiniz. Bu makalede öğrendiklerinizi kullanarak, kendi JavaScript programlarınızda nesnelerle etkili bir şekilde çalışabilirsiniz. İyi kodlamalar!