JAVASCRİPT

JavaScript Nesne Özellikleri

JavaScript’te nesneler, anahtar-değer çiftlerinden oluşan veri yapılarıdır. Nesne özellikleri, bu anahtar-değer çiftlerini ifade eder. Bu makalede, JavaScript nesne özelliklerini ve örneklerini detaylı bir şekilde inceleyeceğiz.


1. Nesne Özellikleri Nedir?

Nesne özellikleri, bir nesnenin sahip olduğu verileri temsil eder. Her özellik, bir anahtar (key) ve bir değer (value) çiftinden oluşur. Anahtarlar genellikle metin (string) türündedir, değerler ise herhangi bir veri türü olabilir (sayı, metin, dizi, başka bir nesne vb.).

Örnek:

let person = {
    name: "Ali", // "name" anahtar, "Ali" değer
    age: 25,     // "age" anahtar, 25 değer
    isStudent: true // "isStudent" anahtar, true değer
};

2. Nesne Özelliklerine Erişim

Nesne özelliklerine iki şekilde erişilebilir:

a) Nokta Notasyonu (Dot Notation)

Nokta notasyonu, özellik adı doğrudan belirtildiğinde kullanılır.

Örnek:

console.log(person.name); // Çıktı: Ali
console.log(person.age);  // Çıktı: 25

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

Köşeli parantez notasyonu, özellik adı dinamik olarak belirlendiğinde veya özellik adı geçerli bir JavaScript tanımlayıcısı olmadığında kullanılır.

Örnek:

console.log(person["name"]); // Çıktı: Ali
console.log(person["age"]);  // Çıktı: 25

Dinamik Özellik Erişimi:

let key = "isStudent";
console.log(person[key]); // Çıktı: true

3. 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" }

4. Nesne Özelliklerini Silme

Nesne özellikleri, delete operatörü kullanılarak silinebilir.

Örnek:

delete person.isStudent;

console.log(person); // { name: "Ali", age: 26, job: "Developer" }

5. Nesne Özelliklerini Kontrol Etme

Bir nesnenin belirli bir özelliğe sahip olup olmadığını kontrol etmek için in operatörü veya hasOwnProperty metodu kullanılır.

a) in Operatörü

in operatörü, nesnenin kendisinde veya prototip zincirinde özelliğin olup olmadığını kontrol eder.

Örnek:

console.log("name" in person); // Çıktı: true
console.log("isStudent" in person); // Çıktı: false (silindiği için)

b) hasOwnProperty Metodu

hasOwnProperty metodu, yalnızca nesnenin kendisinde özelliğin olup olmadığını kontrol eder.

Örnek:

console.log(person.hasOwnProperty("name")); // Çıktı: true
console.log(person.hasOwnProperty("toString")); // Çıktı: false (prototip zincirinde olduğu için)

6. Nesne Özelliklerini Döngü ile Gezinme

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

Not: for...in döngüsü, nesnenin kendi özelliklerinin yanı sıra prototip zincirindeki özellikleri de döner. Sadece kendi özelliklerini almak için hasOwnProperty kullanılabilir.

Örnek:

for (let key in person) {
    if (person.hasOwnProperty(key)) {
        console.log(key + ": " + person[key]);
    }
}

7. Nesne Özelliklerini Dizi Olarak Alma

JavaScript, nesne özelliklerini dizi olarak almak için yerleşik metotlar 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"]]

8. Nesne Özelliklerini Birleştirme

İki veya daha fazla nesneyi birleştirmek için Object.assign() metodu kullanılır.

Örnek:

let obj1 = { a: 1 };
let obj2 = { b: 2 };
let merged = Object.assign(obj1, obj2);

console.log(merged); // Çıktı: { a: 1, b: 2 }

9. Nesne Özelliklerini Dondurma ve Mühürleme

JavaScript, nesne özelliklerini korumak için Object.freeze(), Object.seal() ve Object.preventExtensions() gibi metotlar sunar.

a) Object.freeze()

Nesneyi dondurur. Özellikler eklenemez, silinemez veya güncellenemez.

Örnek:

let obj = { a: 1 };
Object.freeze(obj);

obj.a = 2; // Güncelleme yapılamaz
obj.b = 3; // Yeni özellik eklenemez
delete obj.a; // Özellik silinemez

console.log(obj); // Çıktı: { a: 1 }

b) Object.seal()

Nesneyi mühürler. Özellikler eklenemez veya silinemez, ancak mevcut özellikler güncellenebilir.

Örnek:

let obj = { a: 1 };
Object.seal(obj);

obj.a = 2; // Güncelleme yapılabilir
obj.b = 3; // Yeni özellik eklenemez
delete obj.a; // Özellik silinemez

console.log(obj); // Çıktı: { a: 2 }

c) Object.preventExtensions()

Nesneye yeni özellikler eklenmesini engeller, ancak mevcut özellikler güncellenebilir veya silinebilir.

Örnek:

let obj = { a: 1 };
Object.preventExtensions(obj);

obj.a = 2; // Güncelleme yapılabilir
obj.b = 3; // Yeni özellik eklenemez
delete obj.a; // Özellik silinebilir

console.log(obj); // Çıktı: {}

Sonuç

JavaScript nesne özellikleri, nesnelerin temel yapı taşlarıdır. Bu makalede, nesne özelliklerine erişim, güncelleme, silme, kontrol etme, döngü ile gezme ve diğer önemli kavramları örneklerle açıkladık. Nesne özelliklerini etkili bir şekilde kullanarak, daha düzenli ve okunabilir JavaScript kodları yazabilirsiniz. Nesne özellikleri, modern JavaScript geliştirmede vazgeçilmez bir yapı taşıdır.

Bunu Paylaş
Pin Share

KoMedya

2000 yıllarda başlayan web tasarım heyecanı her geçen gün artarak devam ediyor. Bu kadar yıllık tecrübemi artık insanlara aktarma zamanı geldi de geçiyor. Birlikte güzel tasarımlar da buluşmak dileklerimle...

Bir yanıt yazın

Bizi Sosyal Medyadan Takip edebilirsiniz.