Rumah > Artikel > hujung hadapan web > Mengapa Menetapkan Harta `pembina` Secara Manual dalam Javascript Bukan Idiomatik?
Kepentingan Harta Pembina Javascript Dijelaskan
Dalam Javascript, memahami sifat pembina adalah penting apabila menavigasi kerumitan pengaturcaraan berorientasikan objek. Tidak seperti model warisan klasik, Javascript bergantung pada sifat pembina dan prototaip.
Sifat pembina terutamanya berfungsi sebagai mekanisme maklumat, menunjukkan fungsi yang digunakan untuk mencipta objek menggunakan operator baharu. Sebagai contoh, Bar() baharu memberikan Bar nilai kepada sifat pembina, mendedahkan pembina mana yang digunakan.
Sebaliknya, sifat prototaip memainkan peranan penting dalam menyelesaikan carian harta benda . Apabila objek tidak mempunyai atribut khusus, Javascript mencari dalam sifatnya sendiri dan kemudian naik secara rekursif melalui rantai prototaip, termasuk harta proto, sehingga atribut yang diminta ditemui.
Dalam contoh yang anda berikan, objek b mewarisi daripada prototaip Foo, seperti yang dijangkakan. Walau bagaimanapun, anda mungkin tertanya-tanya tentang kepentingan menetapkan Bar.prototype.constructor = Bar secara manual.
Amalan ini tidak begitu diperlukan dan dianggap sebagai Javascript bukan idiomatik. Secara lalai, apabila menggunakan Object.create(), sifat pembina akan mencerminkan fungsi panggilan, dalam kes ini, Bar. Oleh itu, pembina yang betul sudah dipanggil.
Menetapkan sifat pembina secara manual membolehkan objek Bar.prototype muncul seolah-olah ia dicipta oleh Bar dan bukannya Foo. Ini serupa dengan penyemakan taip dalam bahasa seperti Java, di mana sifat pembina sentiasa mencerminkan jenis yang paling khusus.
Walau bagaimanapun, adalah penting untuk mendekati model berorientasikan objek Javascript dengan pemikiran yang berbeza. Daripada bergantung pada warisan, pertimbangkan untuk menggunakan antara muka dan campuran. Selain itu, menyemak sifat khusus dan bukannya jenis objek ialah pendekatan yang lebih berkesan dalam Javascript.
Mencuba untuk mengenakan warisan klasik secara tegar pada mekanisme berasaskan prototaip Javascript boleh menyebabkan kekeliruan. Merangkul keupayaan unik Javascript dan menggunakan amalan idiomatik akan membolehkan anda mengemudi dunia pengaturcaraan berorientasikan objek Javascript dengan lebih jelas.
Atas ialah kandungan terperinci Mengapa Menetapkan Harta `pembina` Secara Manual dalam Javascript Bukan Idiomatik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!