function Gadget(name,color){
this.name=name;
this.color=color;
this.whatAreYou=function(){
return 'I am a ' + this.color + ' ' + this.name;
};
}
Gadget.prototype={
price:100,
rating:3,
getInfo:function(){
return 'Rating: ' + this.rating + ', price: ' + this.price;
}
};
var newtoy=new Gadget('webcam','black');
new.rating;//3
newtoy.constructor === Gadget;//true
Contoh di atas diambil dari buku "Panduan Pengaturcaraan Berorientasikan Objek"
Jika kod ditulis dengan betul, maka ia adalah palsu, kerana anda telah menulis semula objek prototaip Alat, dan objek prototaip yang anda tulis semula tidak mempunyai atribut pembina Anda boleh merujuk kepada Bab 6 "Pengaturcaraan Lanjutan JavaScript". prototaip
Jawapan yang betul di tingkat atas, Gadget.prototype telah ditulis semula. Kerana terdapat pembina tersirat dalam objek prototaip, yang menunjuk kepada pembina itu sendiri. Seperti berikut:
Peluasan prototaip paling baik ditulis dalam bentuk ini:
Atau gunakan Object.assign() untuk menggabungkan objek: