Rumah >hujung hadapan web >tutorial js >Membezakan proto dan Constructor.prototype: Apakah Perbezaan Utama?
Memahami Perbezaan Antara proto dan Constructor.prototype
The proto harta benda dan constructor.prototype ialah konsep berkait rapat dalam JavaScript yang kerap membawa kepada kekeliruan. Artikel ini bertujuan untuk menjelaskan perbezaan mereka.
__proto__:
proto ialah sifat dalaman objek JavaScript yang menunjuk ke objek prototaipnya. Objek prototaip mengandungi sifat dan kaedah yang diwarisi oleh contoh objek itu. Objek mewarisi harta proto mereka daripada fungsi pembinanya.
Dalam contoh, newtoy.__proto__ mengembalikan objek Gadget.prototype, yang mengandungi harta rating yang diwarisi.
pembina.prototaip:
Sifat pembina.prototaip bagi fungsi merujuk prototaip objek fungsi. Apabila objek dicipta menggunakan kata kunci baharu, prototaip fungsi pembinanya menjadi prototaip objek baharu.
Dalam contoh, newtoy.constructor.prototype mengembalikan objek Gadget.prototype, yang mempunyai harta rating yang diwarisi.
Rantai Prototaip:
Kedua-duanya proto dan constructor.prototype mengambil bahagian dalam rantai prototaip, mekanisme dalam JavaScript yang membolehkan objek mewarisi sifat dan kaedah daripada objek prototaip mereka.
newtoy.__proto__.constructor.prototype.constructor. prototype.constructor.prototype mengembalikan objek Gadget.prototype, yang mewarisi daripada Function.prototype dan akhirnya berakhir pada Object.prototype.
Internet Explorer:
Internet Explorer tidak mempunyai harta proto. Untuk menyemak nol dalam konteks ini, adalah mungkin untuk menggunakan kaedah hasOwnProperty() untuk menentukan sama ada objek mengandungi sifat tertentu.
Contohnya:
<code class="javascript">if (Object.hasOwnProperty("__proto__")) { // __proto__ property is available } else { // __proto__ property is not available }</code>
Atas ialah kandungan terperinci Membezakan proto dan Constructor.prototype: Apakah Perbezaan Utama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!