Rumah >hujung hadapan web >tutorial js >Bagaimanakah Warisan JavaScript Mempengaruhi Harta Pembina dan Operator `instanceof`?
Warisan JavaScript melibatkan penciptaan kelas baharu, dikenali sebagai kelas terbitan, daripada kelas sedia ada, dikenali sebagai kelas asas. Kelas terbitan mewarisi sifat dan kaedah kelas asas. Dalam JavaScript, pewarisan dicapai dengan menetapkan prototaip kelas terbitan kepada contoh kelas asas. Walau bagaimanapun, ini boleh menimbulkan persoalan tentang sifat pembina dan pengendali instanceof.
Dalam kod yang disediakan, anda sedang mencipta fungsi a , b, dan c untuk menunjukkan pewarisan. Walau bagaimanapun, apabila anda log pembina untuk contoh b dan c, anda dapati ia adalah pembina kelas asas (a()). Ini kerana apabila anda menetapkan prototaip kelas terbitan kepada contoh kelas asas, anda memautkan kelas terbitan dengan berkesan kepada prototaip kelas asas. Akibatnya, sifat pembina bagi kejadian kelas terbitan kekal menunjuk kepada pembina kelas asas.
Mekanisme warisan yang anda gunakan tidak betul. Warisan dicapai dengan memautkan rantai prototaip, dan inilah yang anda lakukan dalam kod anda.
Untuk mengemas kini sifat pembina dalam rantaian warisan JavaScript anda, anda boleh mengikuti langkah berikut:
Instanceof operator tidak bergantung pada sifat pembina contoh itu. Sebaliknya, ia merentasi rantai prototaip contoh dan menyemak sama ada sifat [[proto]] dalamannya sepadan dengan sifat prototaip fungsi pembina. Jika terdapat padanan, ia kembali benar, menunjukkan bahawa contoh itu adalah milik pembina itu. Ini membolehkan pengendali instanceof menentukan jenis kejadian dengan tepat walaupun sifat pembina ditetapkan dengan salah.
Atas ialah kandungan terperinci Bagaimanakah Warisan JavaScript Mempengaruhi Harta Pembina dan Operator `instanceof`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!