Prototipe Objek Pemrograman JavaScript

Seluruh objek JavaScript mengambil atribut dan metode dari prototype.

Dalam bab sebelumnya, kami belajar bagaimana untuk menggunakanKonstruktur objek:

Instance

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");

Coba sendiri

Kami telah mengenali bahwa AndaTidak dapatMenambahkan atribut baru kepada konstruktur objek yang sudah ada:

Instance

Person.nationality = "English";

Coba sendiri

Untuk menambahkan atribut baru kepada konstruktur, Anda harus menambahkannya ke fungsi konstruktur:

Instance

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

Coba sendiri

Penyerapan Prototype

Seluruh objek JavaScript mengambil atribut dan metode dari prototype.

Objek tanggal mewarisi dari Date.prototype. Objek array mewarisi dari Array.prototype. Objek Person mewarisi dari Person.prototype.

Object.prototype berada di puncak rantai penyerapan prototype:

Objek tanggal, objek array, dan objek Person mewarisi dari Object.prototype.

Menambah atribut dan metode kepada objek

Kadang-kadang, Anda ingin menambah atribut (atau metode) baru kepada semua objek yang sudah ada dengan tipe yang diberikan.

Kali-kali, Anda ingin menambahkan properti baru (atau metode) ke konstruktur objek.

Penggunaan Prototype Properti

Properti prototype JavaScript memungkinkan Anda menambahkan properti baru untuk konstruktur objek:

Instance

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

Coba sendiri

Properti prototype JavaScript juga memungkinkan Anda menambahkan metode baru untuk konstruktur objek:

Instance

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

Coba sendiri

Harap hanya mengubahAnda sendiriprototype. Jangan pernah mengubah prototype objek JavaScript standar.