Setiap objek JavaScript memiliki prototipe. Prototipe juga merupakan objek.
Semua benda JavaScript mewarisi sifat dan metode mereka dari prototipe mereka.
Prototip JavaScript
Semua benda JavaScript mewarisi properti dan metode dari prototipe mereka.
Objek yang dibuat menggunakan obyek literal, atau dengan new Object() , mewarisi dari prototipe yang disebut Object.prototype.
Objek yang dibuat dengan new Date() mewarisi Date.prototype.
The Object.prototype adalah di bagian atas rantai prototipe.
Semua objek JavaScript (Date, Array, RegExp, Function, ....) mewarisi dari Object.prototype .
Membuat Prototype a
Cara standar untuk membuat prototipe objek adalah dengan menggunakan fungsi objek konstruktor:
Contoh
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Dengan fungsi konstruktor, Anda dapat menggunakan new kata kunci untuk membuat objek baru dari prototipe yang sama:
Contoh
var myFather = new Person("John", "Doe", 50, "blue");
var myMother = new Person("Sally", "Rally", 48, "green");
Cobalah sendiri " Fungsi constructor adalah prototipe untuk Person objek.
Hal ini dianggap praktik yang baik untuk fungsi nama konstruktor dengan huruf besar huruf pertama.
Menambahkan Properties dan Metode untuk Objects
Kadang-kadang Anda ingin menambahkan properti baru (atau metode) ke sebuah obyek yang ada.
Kadang-kadang Anda ingin menambahkan properti baru (atau metode) untuk semua objek yang ada dari jenis tertentu.
Kadang-kadang Anda ingin menambahkan properti baru (atau metode) untuk prototipe objek.
Menambahkan Properti untuk Obyek
Menambahkan properti baru ke objek yang ada mudah:
Properti akan ditambahkan ke myFather . Tidak myMother . Belum benda orang lain.
Menambahkan Metode untuk Obyek
Menambahkan metode baru untuk objek yang ada juga mudah:
Contoh
myFather.name = function () {
return this.firstName + " " + this.lastName;
};
Cobalah sendiri " Metode yang akan ditambahkan ke myFather . Tidak myMother .
Menambahkan Properties untuk Prototype a
Anda tidak dapat menambahkan properti baru untuk prototipe cara yang sama seperti Anda menambahkan properti baru ke objek yang ada, karena prototipe tidak objek yang ada.
Untuk menambahkan properti baru untuk konstruktor, Anda harus menambahkannya ke fungsi konstruktor:
Contoh
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "English"
}
Cobalah sendiri " Sifat prototipe dapat memiliki nilai prototipe (nilai default).
Menambahkan Metode untuk Prototype a
Fungsi konstruktor Anda juga dapat menentukan metode:
Contoh
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;};
}
Cobalah sendiri " Menggunakan prototype Properti
JavaScript prototype properti memungkinkan Anda untuk menambahkan properti baru untuk prototipe yang ada:
Contoh
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";
Cobalah sendiri " Properti prototipe JavaScript juga memungkinkan Anda untuk menambahkan metode baru untuk prototipe yang ada:
Contoh
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;
};
Cobalah sendiri " Hanya memodifikasi prototipe Anda sendiri. Tidak pernah memodifikasi prototipe objek JavaScript standar.