JavaScript Nesneler
JavaScript’te nesneler (objects), anahtar-değer çiftlerinden oluşan veri yapılarıdır. Nesneler, karmaşık verileri düzenlemek ve yönetmek için kullanılır. Bu makalede, JavaScript nesnelerini ve örneklerini inceleyeceğiz.
1. Nesne Nedir?
Nesne, birbiriyle ilişkili verileri gruplamak için kullanılan bir veri yapısıdır. Her bir veri, bir anahtar (key) ve bir değer (value) çifti olarak saklanır. Anahtarlar genellikle metin (string) türündedir, değerler ise herhangi bir veri türü olabilir (sayı, metin, dizi, başka bir nesne vb.).
Temel Nesne Yapısı:
let nesne = {
anahtar1: deger1,
anahtar2: deger2,
...
};
2. Nesne Oluşturma
JavaScript’te nesneler farklı şekillerde oluşturulabilir:
a) Nesne Literali
En yaygın kullanılan yöntemdir. Nesne, süslü parantezler ({}
) içinde tanımlanır.
Örnek:
let person = {
name: "Ali",
age: 25,
isStudent: true
};
console.log(person); // { name: "Ali", age: 25, isStudent: true }
b) new Object()
ile Nesne Oluşturma
new Object()
sözdizimi ile de nesne oluşturulabilir.
Örnek:
let car = new Object();
car.brand = "Toyota";
car.model = "Corolla";
car.year = 2020;
console.log(car); // { brand: "Toyota", model: "Corolla", year: 2020 }
3. Nesne Özelliklerine Erişim
Nesne özelliklerine iki şekilde erişilebilir:
a) Nokta Notasyonu (Dot Notation)
console.log(person.name); // Çıktı: Ali
b) Köşeli Parantez Notasyonu (Bracket Notation)
console.log(person["age"]); // Çıktı: 25
Not: Köşeli parantez notasyonu, özellik adı dinamik olarak belirlendiğinde kullanışlıdır.
Örnek:
let key = "isStudent";
console.log(person[key]); // Çıktı: true
4. Nesne Özelliklerini Güncelleme ve Ekleme
Nesne özellikleri, nokta veya köşeli parantez notasyonu kullanılarak güncellenebilir veya yeni özellikler eklenebilir.
Örnek:
person.age = 26; // Özellik güncelleme
person.job = "Developer"; // Yeni özellik ekleme
console.log(person); // { name: "Ali", age: 26, isStudent: true, job: "Developer" }
5. Nesne Metotları
Nesneler, özelliklerin yanı sıra metotlar (fonksiyonlar) da içerebilir. Metotlar, nesnenin davranışlarını tanımlar.
Örnek:
let person = {
name: "Ali",
age: 25,
greet: function() {
return "Merhaba, ben " + this.name + "!";
}
};
console.log(person.greet()); // Çıktı: Merhaba, ben Ali!
Not: Metot içinde this
anahtar kelimesi, nesnenin kendisine referans verir.
6. Nesne İçinde İç İçe Nesneler
Nesneler, başka nesneleri içerebilir. Bu, karmaşık veri yapıları oluşturmak için kullanışlıdır.
Örnek:
let user = {
name: "Ayşe",
age: 30,
address: {
city: "İstanbul",
country: "Türkiye"
}
};
console.log(user.address.city); // Çıktı: İstanbul
7. Nesne Özelliklerini Silme
Nesne özellikleri, delete
operatörü kullanılarak silinebilir.
Örnek:
delete person.isStudent;
console.log(person); // { name: "Ali", age: 26, job: "Developer" }
8. Nesne Döngüleri
Nesne özellikleri üzerinde döngü oluşturmak için for...in
döngüsü kullanılır.
Örnek:
for (let key in person) {
console.log(key + ": " + person[key]);
}
// Çıktı:
// name: Ali
// age: 26
// job: Developer
9. Nesne Metotları ve Özellikleri
JavaScript, nesnelerle çalışmak için birçok yerleşik metot ve özellik sunar.
a) Object.keys()
Nesnenin anahtarlarını bir dizi olarak döndürür.
Örnek:
let keys = Object.keys(person);
console.log(keys); // Çıktı: ["name", "age", "job"]
b) Object.values()
Nesnenin değerlerini bir dizi olarak döndürür.
Örnek:
let values = Object.values(person);
console.log(values); // Çıktı: ["Ali", 26, "Developer"]
c) Object.entries()
Nesnenin anahtar-değer çiftlerini bir dizi olarak döndürür.
Örnek:
let entries = Object.entries(person);
console.log(entries); // Çıktı: [["name", "Ali"], ["age", 26], ["job", "Developer"]]
d) Object.assign()
İki veya daha fazla nesneyi birleştirir.
Örnek:
let obj1 = { a: 1 };
let obj2 = { b: 2 };
let merged = Object.assign(obj1, obj2);
console.log(merged); // Çıktı: { a: 1, b: 2 }
10. Nesne Prototipleri
JavaScript’te nesneler, prototip tabanlı bir yapıya sahiptir. Her nesne, bir prototip nesnesinden miras alır. Bu, nesnelerin özellik ve metotlarını paylaşmasını sağlar.
Örnek:
let animal = {
type: "Hayvan",
sound: function() {
return "Ses çıkarıyor!";
}
};
let dog = Object.create(animal);
dog.type = "Köpek";
console.log(dog.sound()); // Çıktı: Ses çıkarıyor!
Sonuç
JavaScript nesneleri, karmaşık veri yapılarını düzenlemek ve yönetmek için güçlü bir araçtır. Bu makalede, nesne oluşturma, özelliklere erişim, metotlar, iç içe nesneler ve nesne metotları gibi temel kavramları örneklerle açıkladık. Nesneleri etkili bir şekilde kullanarak, daha düzenli ve okunabilir JavaScript kodları yazabilirsiniz. Nesneler, modern JavaScript geliştirmede vazgeçilmez bir yapı taşıdır.