En son web geliştirme öğreticiler
 

JavaScript Nesne Prototipleri


Her JavaScript nesnesi bir prototip vardır. Prototip da bir nesnedir.

Tüm JavaScript nesneleri kendi prototip gelen özellik ve yöntemlerini devralır.


JavaScript prototipleri

Tüm JavaScript nesneleri kendi prototip gelen özelliklerini ve yöntemlerini devralır.

Nesneler bir nesne değişmezi kullanarak oluşturulan veya birlikte new Object() , Object.prototype adında bir prototip devralır.

Ile oluşturulan nesneler new Date() Date.prototype devralır.

Object.prototype prototip zincirinin tepesinde yer almaktadır.

Tüm JavaScript nesneleri (Date, Array, RegExp, Function, ....) devralan Object.prototype .


Bir prototip oluşturma

Bir nesne prototipini oluşturmak için standart yolu bir nesne yapıcı işlevini kullanmaktır:

Örnek

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}

Bir yapıcı işlevi sayesinde, kullanabileceğiniz new aynı prototip gelen yeni nesneler oluşturmak için anahtar kelime:

Örnek

var myFather = new Person("John", "Doe", 50, "blue");
var myMother = new Person("Sally", "Rally", 48, "green");
Kendin dene "

Yapıcı işlevi prototipi Person nesneler.
Bir harf ilk harfi ile isim yapıcı işlevine iyi bir uygulama olarak kabul edilir.


Nesneler Özellikler 've Yöntemleri ekleme

Bazen yeni özellikler eklemek istediğiniz (or methods) mevcut bir nesneye.

Bazen yeni özellikler eklemek istediğiniz (or methods) , belirli bir türdeki tüm mevcut nesnelere.

Bazen yeni özellikler eklemek istediğiniz (or methods) bir nesne prototip.


Bir nesne için bir özellik ekleme

Varolan bir nesneye yeni bir özellik eklemek kolaydır:

Örnek

myFather.nationality = "English";
Kendin dene "

Mülkiyet eklenecektir myFather . Not to myMother . Değil başka bir kişi nesnelere.


Bir nesne için bir Yöntem Ekleme

olan bir nesneye yeni bir yöntem eklemek de kolaydır:

Örnek

myFather.name = function () {
    return this.firstName + " " + this.lastName;
};
Kendin dene "

Yöntem eklenecektir myFather . Not to myMother .


Prototip için Özellikler ekleme

Prototip varolan nesne değil, çünkü varolan bir nesneye yeni bir özellik eklemek gibi bir prototip aynı şekilde yeni bir özellik ekleyemezsiniz.

Örnek

Person.nationality = "English";
Kendin dene "

Bir kurucusuna yeni bir özellik eklemek için, yapıcı işlevine eklemek gerekir:

Örnek

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
    this.nationality = "English"
}
Kendin dene "

Prototip özellikleri prototip değerlerine sahip olabilir (default values) .


Prototip için Yöntemleri ekleme

Sizin yapıcı işlevi de yöntemlerini tanımlayabilirsiniz:

Örnek

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
    this.name = function() {return this.firstName + " " + this.lastName;};
}
Kendin dene "

Kullanılması prototype Mülkiyet

JavaScript prototype özelliği varolan prototip yeni özellikler eklemenizi sağlar:

Örnek

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";
Kendin dene "

JavaScript prototip özelliği de varolan bir prototip yeni yöntemler eklemenizi sağlar:

Örnek

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
Person.prototype.name = function() {
    return this.firstName + " " + this.lastName;
};
Kendin dene "

Sadece kendi prototipler değiştirin. standart JavaScript Nesnelerin prototiplerinin değişiklik yapmayın.