tutorial pengembangan web terbaru
 

JavaScript Prototip objek


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:

Contoh

myFather.nationality = "English";
Cobalah sendiri "

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.

Contoh

Person.nationality = "English";
Cobalah sendiri "

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.