Properti Show Pertama kita akan melihat lebih lengkapnya dan bagaimana cara menggunakannya untuk menambah kemampuan dari objek-objek bawaan. Object.prototypekatakan kita mengeluarkan sebuah objek kosong:
Dimanakah kode yang menghasilkan string …Tapi notasi pendek dari Inilah yang terjadi: Ketika Jadi ketika Kita bisa periksa seperti ini:
Ingat bahwa disana sudah tidak ada lagi
prototype bawaan lainnyaObjek bawaan lainnya seperti Contoh, ketika kita membuat sebuah array Sebagaimana spesifikasinya, semua prototype bawaan memiliki Ini adalah gambar keseluruhan (memasangkan 3 fungsi): Sekarang kita cek prototypenya secara manual:
Beberapa metode didalam prototype mungkin tumpang
tindih, contoh,
Seperti yang telah kita lihat, Dialam alat browser seperti Chrome Developer Conolse juga menunjukan pewarisannya ( Objek bawaan lainnya juga mungkin bekerja mirip seperti itu. Bahkan fungsi – mereka adalah objek dari konstruktor bawaan
Primitif-primitifHal yang paling rumit terjadi dengan string, number dan boolean. Seperti yang kita ingat, mereka bukanlah objek. Tapi jika kita mencoba untuk mengakses propertinya, objek pembungkus sementara menggunakan konstruktor bawaan Objek-objek ini dibuat tak terlihat untuk kita dan kebanyakan mesin mengoptimalkan mereka, tapi spesifikasinya menjelaskannya juga seperti itu. Metode dari objek ini juga tinggal didalam prototype, tersedia sebagai Nilai Nilai spesial Changing native prototypesPrototipe asli bisa dimodifikasi. Contoh, jika kita menambahkan metode kepada
Selama proses pembangunan, kita mungkin memiliki ide untuk metode bawaan baru yang kita ingin punya, dan kita mungkin tergoda untuk menambahkannya sebagai prototype asli. Tapi itu sebenarnya bukan ide yang bagus. Penting: Prototype terlihat di global, jadi akan mudah membuat konflik. Jika dua library menambahkan sebuah metode Jadi, umumnya, memodifikasi prototype asli bisa dikatakan bukan ide bagus. Didalam programming modern, terdapat satu kasus dimana memodifikasi prototype asli dapat diterima. Disebut dengan polyfilling. Polyfilling adalah sebuah istilah untuk membuat sebuah metode pengganti yang ada didalam spesifikasi Javascript, tapi itu tidak didukung oleh mesin Javascript tertentu. Kita mungkin mengimplementasi manual dan mengisi prototype bawaan dengan itu. Contoh:
meminjam dari prototypeDidalam bab Decorators dan forwarding, call/apply kita berbicara tentang peminjaman metode. Itulah ketika kita mengambil metode dari satu objek dan menyalinnya ke objek lain. Beberapa metode dari prototype asli sering dipinjam. Contoh, jika kita membuat objek yang mirip array, kita mungkin ingin menyalin beberapa metode E.g.
Contoh diatas bekerja karena algoritma internal bawaan Kemungkinan lainnya adalah pewarisan dari Tapi itu menjadi tidak mungkin jika Meminjam metode sebenarnya cukup fleksibel, hal itu memperbolehkan kita untuk mencampur fungsionalitas dari objek yang berbeda-beda jika dibutuhkan. Ringkasan
|