JavaScript Nesne Prototipleri
Prototipler, JavaScript nesnelerinin özellikleri birbirlerinden miras aldıkları mekanizmadır. Bu makalede, prototip zincirlerinin nasıl çalıştığını açıklıyoruz ve prototype
özelliğin mevcut kuruculara method ve özellik eklemek için nasıl kullanılabileceğine bakıyoruz.
JavaScript prototip tabanlı bir dildir, bu nedenle JavaScript kullanarak bir nesne oluşturduğumuzda, JavaScript altyapısı bir nesnenin içine bir prototip özelliği ekler, Prototype
özelliği temel olarak bir nesnedir (Prototip nesnesi olarak da bilinir), bir prototip nesnesine Methodlar ve Özellikler ekleyebiliriz, bu da diğer tüm nesnelerin bu Methodlar ve Özellikleri devralmasını sağlar.
Bir nesnenin prototip nesnesi, Methodlar ve Özellikleri devraldığı bir prototip nesnesine de sahip olabilir. Bu genellikle bir prototip zinciri olarak adlandırılır ve farklı nesnelerin neden kullanılabilir diğer nesneler üzerinde tanımlanmış özelliklere ve methodlara sahip olduğunu açıklar.
JavaScript'te, nesne örneği ve prototipi (oluşturucudaki prototip özelliğinden türetilen __proto__
özelliği) arasında bir bağlantı yapılır ve özellikler ve methodlar prototype
zincirinde gezinilerek bulunur.
Önceki bölümde bir nesne oluşturucunun nasıl kullanılacağını öğrendik:
function Sehir(adi, plaka, nüfus, uretim) {
this.adi = adi;
this.plaka = plaka;
this.nüfus = nüfus;
this.uretim = uretim;
}
var baskent = new Sehir("Ankara", "06", "5.5 Milyon", "Sanayi");
var tatil_sehir = new Sehir("Mersin", 33, "955 Bin", "Turizm");
console.log(baskent);
console.log(tatil_sehir);
ÇIKTI:
Object { "adi": "Ankara", "plaka": "06", "nüfus": "5.5 Milyon", "üretim": "Sanayi" } Object { "adi": "Mersin", "plaka": 33, "nüfus": "955 Bin", "üretim": "Turizm" }
Varolan nesne yapıcı yeni bir özellik ekleyin:
Sehir.rakim = 938;
ÖRNEK:
function Sehir(adi, plaka, nüfus, uretim) {
this.adi = adi;
this.plaka = plaka;
this.nüfus = nüfus;
this.uretim = uretim;
}
Sehir.rakim = 938;
var baskent = new Sehir("Ankara", "06", "5.5 Milyon", "Sanayi");
var tatil_sehir = new Sehir("Mersin", 33, "955 Bin", "Turizm");
console.log(baskent.rakim);
ÇIKTI:
Yapıcı işlevine yeni bir özellik ekleyemezsiniz. baskent.rakim undefined
Prototip Kalıtımı
Tüm JavaScript nesneleri, özellikleri ve methodları bir prototipten devralır:
Date
nesnesindenDate.prototype
diye miras alınır.Array
nesnesindenArray.prototype
diye miras alınır.Sehir
nesnesindenSehir.prototype
diye miras alınır.
Object.prototype
prototip devralma zincirinin en üstündedir:
Date
nesneleri, Array
nesneleri ve Sehir
nesneleri Object.prototype
'dan devralınır.
Nesnelere Özellikler ve Methodlar Ekleme
Bazen, belirli bir türün varolan tüm nesnelerine yeni özellikler veya methodlar eklemek isteyebilirsiniz.
Bazen bir nesne yapıcısına yeni özellikler veya Methodlar eklemek istersiniz.
Prototip Özelliğini Kullanma
JavaScript prototype
özelliği, nesne oluşturuculara yeni özellikler eklemenize olanak tanır:
function Sehir(adi, plaka, nüfus, üretim) {
this.adi = adi;
this.plaka = plaka;
this.nüfus = nüfus;
this.üretim = üretim;
}
Sehir.prototype.rakim = 938;
var baskent = new Sehir("Ankara", "06", "5.5 Milyon", "Sanayi");
console.log(baskent.rakim);
JavaScript prototype
özelliği ayrıca nesne oluşturuculara yeni Methodlar eklemenize de olanak tanır:
function Sehir(adi, plaka, nüfus, uretim) {
this.adi = adi;
this.plaka = plaka;
this.nüfus = nüfus;
this.uretim = uretim;
}
Sehir.prototype.name = function() {
return this.adi + " " + this.uretim
};
var tatil_sehir = new Sehir("Mersin", 33, "955 Bin", "Turizm");
console.log(tatil_sehir.name());
ÇIKTI:
- HTML
- CSS
- PHP
- JQUERY
- PHOTOSHOP
- JavaScript
- Web Dünyası
- Linux
- MİTHRİL FRAMEWORK
- Laravel
- Git
- React
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- HTML FORM OLUŞTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML DİV ve SPAN NEDİR?
- HTML ARKAPLANA MÜZİK EKLEME
- KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME