JavaScript'te Objects
JavaScript'te Objects
(Objeler), verileri anahtar-değer çiftleri şeklinde depolamak için kullanılan karmaşık veri türleridir. Bir JavaScript nesnesi, değişkenlerin ve metodların (fonksiyonların) bir kombinasyonunu içerebilir. Bu nedenle JavaScript nesneleri, diğer veri tiplerini gruplamak ve düzenlemek için oldukça kullanışlıdır.
Nesne Oluşturma
JavaScript nesneleri, süslü parantezler {}
içinde oluşturulabilir. Anahtar-değer çiftleri arasında virgülle ayrılmıştır.
let kullanici = {
ad: 'Ahmet',
yas: 30,
email: 'ahmet@example.com',
adres: {
sokak: 'Atatürk Cad.',
sehir: 'İstanbul'
},
selamla: function() {
return 'Merhaba, ben ' + this.ad;
}
};
Yukarıdaki örnekte, kullanici
adında bir nesne oluşturduk ve içine çeşitli özellikler (ad, yaş, email, adres) ve bir metod (selamla) ekledik. Objelerde özelliklere ve metodlara nesne adı ile erişilebilir.
Nesne Özelliklerine Erişim
Objenin özelliklerine nokta operatörü (.
) veya köşeli parantez kullanarak erişilebilir.
console.log(kullanici.ad); // 'Ahmet'
console.log(kullanici['yas']); // 30
Yeni Özellik Ekleme ve Değiştirme
Nesne oluşturulduktan sonra, yeni özellikler eklenebilir veya mevcut özellikler değiştirilebilir.
kullanici.telefon = '555-555-5555';
kullanici.ad = 'Mehmet';
console.log(kullanici.telefon); // '555-555-5555'
console.log(kullanici.ad); // 'Mehmet'
Nesne Metodları
Objelere metodlar eklemek, nesnelerin belirli davranışlar sergilemesini sağlar. Yukarıdaki örnekte selamla
adında bir metod tanımladık. Bu metod, nesne içindeki diğer özelliklere erişebilir ve kullanılabilir.
console.log(kullanici.selamla()); // 'Merhaba, ben Mehmet'
Nesne Kopyalama
JavaScript'te nesneler referans tipleridir, bu nedenle bir nesneyi başka bir değişkene atadığınızda aslında aynı nesnenin referansını aktarırsınız. Eğer tam bir kopya oluşturmak istiyorsanız, Object.assign()
veya spread operatörü (...) kullanabilirsiniz.
let yeniKullanici = Object.assign({}, kullanici);
// veya
let baskaKullanici = {...kullanici};
JavaScript nesneleri, verileri düzenlemek ve gruplamak için güçlü bir araçtır. Objeler, birden çok veri tipini tek bir yapıda birleştirmenin yanı sıra, dinamik ve genişletilebilir programlar yazmak için gereken esnekliği sağlar.