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:
DatenesnesindenDate.prototypediye miras alınır.ArraynesnesindenArray.prototypediye miras alınır.SehirnesnesindenSehir.prototypediye 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
- javaScript Template Literal
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML FORM OLUŞTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- HTML ARKAPLANA MÜZİK EKLEME
- HTML DİV ve SPAN NEDİR?