JavaScript Objects Properties: Nesnelerin Temel Yapı Taşları
JavaScript’te nesneler (objects), değişkenleri ve fonksiyonları bir arada tutabilen veri yapılarıdır. Bir nesne, anahtar-değer çiftlerinden oluşur ve bu çiftler property (özellik) olarak adlandırılır. Nesnelerdeki özellikler, o nesnenin tanımlayıcılarını, verilerini ve işlevselliğini belirler. Bu yazıda, JavaScript nesnelerinin özelliklerini tanımlama, erişme ve yönetme yöntemlerine yakından bakacağız.
1. JavaScript Nesnesi (Object) Nedir?
JavaScript nesneleri, bir veya birden fazla property‘ye sahip olabilir. Her property bir anahtar ve o anahtara karşılık gelen bir değerden oluşur. Anahtar bir string ya da sembol olabilirken, değer herhangi bir veri türü olabilir (number, string, array, function vb.).
Basit Bir Nesne Örneği:
const person = {
name: "Ahmet",
age: 30,
city: "İstanbul"
};
Bu örnekte, person
adlı nesne üç property’ye sahiptir: name
, age
ve city
.
2. Nesne Özelliklerine Erişme Yöntemleri
JavaScript’te bir nesnenin özelliklerine iki şekilde erişebilirsiniz:
- Dot Notation (Nokta Notasyonu):
console.log(person.name); // "Ahmet"
- Bracket Notation (Köşeli Parantez Notasyonu):
console.log(person["age"]); // 30
Her iki yöntem de nesne özelliklerine erişmek için kullanılır. Nokta notasyonu, genellikle daha yaygın ve okunması kolaydır. Köşeli parantez notasyonu ise dinamik olarak belirlenen property anahtarlarında kullanılır.
3. Nesne Özelliği Ekleme ve Güncelleme
JavaScript nesnelerine yeni özellikler eklemek veya mevcut özellikleri güncellemek çok kolaydır. Nokta veya köşeli parantez notasyonu kullanarak bunu yapabilirsiniz.
Özellik Ekleme:
person.job = "Developer";
console.log(person.job); // "Developer"
Özellik Güncelleme:
person.age = 31;
console.log(person.age); // 31
4. Nesne Özelliklerini Silme
Bir nesnedeki özelliği silmek için delete
operatörü kullanılır:
delete person.city;
console.log(person.city); // undefined
Bu işlem, nesne içerisindeki city
özelliğini tamamen kaldırır.
5. Tüm Nesne Özelliklerine Erişim
Bir nesnedeki tüm özelliklere döngülerle erişebilirsiniz. En yaygın kullanılan döngü, for...in
döngüsüdür. Bu döngü, nesnenin tüm property anahtarlarını sırasıyla iterasyona tabi tutar.
for (let key in person) {
console.log(key + ": " + person[key]);
}
// Çıktı:
// name: Ahmet
// age: 31
// job: Developer
6. Nesne Özelliği Türleri
JavaScript’te nesnelerde iki tür özellik vardır:
- Data Properties (Veri Özellikleri): Anahtar ve değer çiftlerinden oluşur.
- Accessor Properties (Erişimci Özellikler): Nesne özelliklerine değer atamak ve almak için kullanılan getter ve setter fonksiyonlarından oluşur.
Getter ve Setter Kullanımı:
const car = {
brand: "Toyota",
_model: "Corolla",
get model() {
return this._model;
},
set model(value) {
this._model = value;
}
};
console.log(car.model); // "Corolla"
car.model = "Camry";
console.log(car.model); // "Camry"
Bu örnekte get
ve set
ile bir nesne özelliğine erişmek ve onu güncellemek için özel fonksiyonlar tanımlanmıştır.
7. Property Descriptors (Özellik Tanımlayıcıları)
Nesne özellikleri varsayılan olarak değiştirilebilir, silinebilir ve listelenebilir. Ancak JavaScript’te özellik tanımlayıcılarını (property descriptors) kullanarak bu davranışları kontrol edebilirsiniz.
- writable: Özelliğin değiştirilip değiştirilemeyeceğini belirtir.
- enumerable: Özelliğin döngüyle listelenip listelenemeyeceğini belirtir.
- configurable: Özelliğin silinip silinemeyeceğini veya descriptor ayarlarının değiştirilip değiştirilemeyeceğini belirtir.
Özellik tanımlayıcılarını Object.defineProperty()
ile ayarlayabilirsiniz.
Object.defineProperty(person, "name", {
writable: false,
enumerable: true,
configurable: false
});
person.name = "Mehmet"; // Bu işlem başarısız olur çünkü writable false'tur.
8. Object.keys() ve Object.values() Fonksiyonları
Nesnedeki tüm anahtarları veya değerleri listelemek için Object.keys()
ve Object.values()
fonksiyonları kullanılabilir.
console.log(Object.keys(person)); // ["name", "age", "job"]
console.log(Object.values(person)); // ["Ahmet", 31, "Developer"]
Bu yöntemlerle nesne içindeki tüm property’ler üzerinde kolayca işlem yapabilirsiniz.
Sonuç
JavaScript Objects Properties, nesnelerin yapı taşlarıdır ve veri organizasyonunu kolaylaştırır. Özelliklere erişme, ekleme, güncelleme ve silme gibi işlemler, nesnelerle çalışmayı güçlü ve esnek hale getirir. Ayrıca getter/setter yöntemleri ve özellik tanımlayıcıları gibi gelişmiş özelliklerle nesnelerin işleyişini daha da özelleştirebilirsiniz.
Share this content:
Yorum gönder