Setiap objek dalam JavaScript akan memiliki prototipe. Cobalah:
Salinan kode adalah sebagai berikut:
var richard = objek baru ();
peringatan (typeof (richard.prototype));
Hasilnya menyedihkan, dan apa yang muncul dengan browser tidak ditentukan ...
Apa yang terjadi?
Mari kita lihat contoh lain:
Salinan kode adalah sebagai berikut:
fungsi richard () {}
peringatan (typeof (richard.prototype));
Contoh di atas tampaknya menunjukkan bahwa hanya objek fungsi yang memiliki prototipe, sedangkan objek objek umum tidak memiliki prototipe. Apa kebenarannya?
Mari kita terapkan kalimat lain dan pahami:
Salinan kode adalah sebagai berikut:
var richard = objek baru ();
Peringatan (Richard .__ Proto__);
Apakah kamu mengerti?
Bahkan, kita semua memiliki kesalahpahaman, yaitu rantai prototipe objek JavaScript adalah properti bernama prototipe dan dapat diakses. Faktanya, prototipe Javascript dan atribut bernama prototipe tidak memiliki hubungan sama sekali di awal, dan dua hal yang berbeda.
Untuk objek umum, kita hanya dapat mengakses prototipe yang diwarisi dari objek objek melalui atribut seperti __proto__;
Untuk objek fungsi, ketika ditetapkan, prototipe objek fungsi telah ditetapkan ke properti prototipe.