Şimdi yükleniyor

JavaScript Objects: Nesnelerle Çalışmanın Temelleri

JavaScript nesneleri, programlama sürecinde veri yapılarını organize etmek ve yönetmek için kullanılan en temel yapılardan biridir. Nesneler, birden fazla değeri bir arada tutan ve bu değerlere isimlendirerek erişmemizi sağlayan yapılar olarak tanımlanır. Bir JavaScript nesnesi, özellikler ve metotlar şeklinde veri ve işlevleri bir araya getirir.

1. JavaScript Nesneleri Nedir?

JavaScript’te nesneler, anahtar-değer çiftlerinden oluşan koleksiyonlardır. Anahtarlar (key), benzersiz bir şekilde verilere ulaşmamızı sağlarken, bu anahtarlara karşılık gelen değerler (value) herhangi bir veri türünde olabilir.

Bir nesne şu şekilde tanımlanabilir:

let person = {
firstName: "John",
lastName: "Doe",
age: 30,
job: "Developer"
};

Bu örnekte person adında bir nesne tanımladık ve bu nesne firstName, lastName, age ve job adında dört özellikten oluşuyor.

2. Nesnelere Erişim Yöntemleri

JavaScript’te bir nesnenin özelliklerine iki farklı yolla erişilebilir:

a) Nokta Notasyonu (Dot Notation)

Nesne özelliklerine erişmenin en yaygın yöntemi nokta notasyonudur. Nokta notasyonu ile doğrudan özellik adına erişim sağlanır.

console.log(person.firstName);  // "John"
console.log(person.age); // 30

b) Köşeli Parantez Notasyonu (Bracket Notation)

Köşeli parantez notasyonu, genellikle özellik adı dinamik olduğunda veya bir değişken ile belirtildiğinde kullanılır. Ayrıca özellik adında boşluk veya özel karakter varsa bu notasyon tercih edilir.

console.log(person["lastName"]);  // "Doe"

Bu yöntemde özellik isimleri, tırnak içinde yazılır.

3. Nesnelere Yeni Özellik Ekleme

JavaScript’te mevcut bir nesneye dinamik olarak yeni özellikler eklemek mümkündür. Bu işlem, hem nokta notasyonu hem de köşeli parantez notasyonu ile yapılabilir.

person.nationality = "American";
person["gender"] = "Male";

console.log(person);

Bu işlemden sonra person nesnesine nationality ve gender özellikleri eklenmiş olur.

4. Nesneler İçerisinde Metotlar

Nesneler, sadece veri depolamaz; aynı zamanda işlevler (metotlar) içerebilir. Bir metot, bir nesneye ait işlevdir ve o nesnenin özelliklerine erişim sağlayabilir.

Örnek:

let car = {
brand: "Toyota",
model: "Corolla",
year: 2021,
getCarInfo: function() {
return this.brand + " " + this.model + " (" + this.year + ")";
}
};

console.log(car.getCarInfo()); // "Toyota Corolla (2021)"

Bu örnekte, car nesnesine bir getCarInfo metodu eklenmiş ve bu metot, nesnenin özelliklerini kullanarak bir bilgi döndürmüştür.

5. Nesne Yöntemleri (Object Methods)

JavaScript, nesnelerle çalışmayı kolaylaştıran bazı yerleşik yöntemler sağlar. İşte bunlardan birkaç tanesi:

a) Object.keys()

Bu yöntem, bir nesnenin tüm anahtarlarını (özellik adlarını) bir dizi olarak döndürür.

let keys = Object.keys(person);
console.log(keys); // ["firstName", "lastName", "age", "job", "nationality", "gender"]

b) Object.values()

Bu yöntem, bir nesnenin tüm değerlerini bir dizi olarak döndürür.

let values = Object.values(person);
console.log(values); // ["John", "Doe", 30, "Developer", "American", "Male"]

c) Object.entries()

Bu yöntem, her bir anahtar-değer çiftini bir dizi olarak döndürür.

let entries = Object.entries(person);
console.log(entries);
// [["firstName", "John"], ["lastName", "Doe"], ["age", 30], ["job", "Developer"], ["nationality", "American"], ["gender", "Male"]]

6. Nesnelerin Kopyalanması

JavaScript nesneleri, referans türündedir. Bu nedenle, bir nesne başka bir değişkene atandığında, aynı nesneye referans verir ve yapılan değişiklikler her iki değişkende de görülür.

Örnek:

let personCopy = person;
personCopy.age = 35;

console.log(person.age); // 35

Nesneleri kopyalarken, derin kopyalama (deep copy) veya yüzeysel kopyalama (shallow copy) yapmaya dikkat etmek gerekir. Yüzeysel kopyalama için Object.assign() veya yayılma operatörü (spread operator) kullanılabilir.

let newPerson = Object.assign({}, person);
newPerson.age = 40;

console.log(person.age); // 35
console.log(newPerson.age); // 40

7. Nesne Tabanlı Programlama (OOP) ve Nesneler

JavaScript, nesne tabanlı programlamayı destekleyen bir dildir. Bu modelde, nesneler ve sınıflar (ES6’dan sonra) kullanılarak daha modüler ve sürdürülebilir yazılımlar geliştirilebilir. Nesneler, özellikleri ve işlevleri bir arada tutarak, gerçek dünyadaki varlıkların programlamada temsil edilmesini sağlar.

Sonuç

JavaScript nesneleri, verileri düzenli ve mantıklı bir şekilde depolamak ve işlemek için temel yapı taşlarıdır. Nokta notasyonu veya köşeli parantez notasyonu ile nesnelerin özelliklerine erişebilir, yeni özellikler ekleyebilir ve metotlar oluşturarak nesneleri daha işlevsel hale getirebilirsiniz. Nesneler, JavaScript dilinde sıkça kullanılan yapılar olduğundan, bu yapıları anlamak ve kullanmak, programlama becerilerinizi bir üst seviyeye taşıyacaktır.

Share this content:

Yorum gönder