JavaScript Nesne Prototipleri

Tüm JavaScript nesneleri özellik ve yöntemleri prototipten miras alır.

Önceki bölümde, nasıl kullanabileceğimizi öğrendikNesne yapıcıları:

Örnek

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
var myFather = new Person("Bill", "Gates", 62, "blue");
var myMother = new Person("Steve", "Jobs", 56, "green");

Kişisel olarak deneyin

Zaten fark ettik ki, sizYapılmazMevcut nesne yapıcılarına yeni özellik eklemek için:

Örnek

Person.nationality = "English";

Kişisel olarak deneyin

Bir yapıcıya yeni bir özellik eklemek istiyorsanız, bunu yapıcı fonksiyona eklemelisiniz:

Örnek

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

Kişisel olarak deneyin

Prototip miras

Tüm JavaScript nesneleri özellik ve yöntemleri prototipten miras alır.

Tarih nesnesi Date.prototype'tan miras alır. Dizi nesnesi Array.prototype'tan miras alır. Person nesnesi Person.prototype'tan miras alır.

Object.prototype, prototip miras zincirinin zirvesindedir:

Tarih nesnesi, dizi nesnesi ve Person nesnesi Object.prototype'tan miras alır.

Nesneye özellik ve yöntem eklemek

Bazen, tüm verilen türdeki mevcut nesnelere yeni özellikler (veya yöntemler) eklemek istersiniz.

Bazen, nesne yapıcılarına yeni özellikler (veya yöntemler) eklemek istersiniz.

Kullanım prototype Özellikler

JavaScript prototype özellikleri, nesne yapıcılarına yeni özellik eklemenize de izin verir:

Örnek

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

Kişisel olarak deneyin

JavaScript prototype özellikleri, nesne yapıcılarına yeni yöntem eklemenize de izin verir:

Ö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;
};

Kişisel olarak deneyin

SadeceKendiprototipi. Standart JavaScript nesne prototiplerini asla değiştirmeyin.