JavaScript Inheritance: Object.create vs. new
Konsep warisan dalam JavaScript boleh mengelirukan, kerana terdapat pelbagai pendekatan untuk mencapai ia. Artikel ini bertujuan untuk menjelaskan kaedah yang paling diterima dan menyediakan penyelesaian untuk senario khusus anda.
Memahami Object.create and new
Object.create ialah kaedah yang mencipta objek baharu dengan mewarisi daripada objek sedia ada. Ini berguna apabila anda ingin mencipta objek asas dan kemudian memanjangkannya dengan sifat dan kaedah tambahan. Sintaks untuk Object.create ialah:
Object.create(prototype[, propertiesObject])
Sebaliknya, kata kunci baharu digunakan untuk mencipta tika baharu objek dan menggunakan fungsi pembinanya. Sintaks untuk baharu ialah:
new ConstructorFunction([arguments])
Memilih Kaedah Yang Tepat untuk Pewarisan
Pilihan antara Object.create dan new bergantung pada keperluan khusus anda. Object.create sesuai untuk mencipta objek asas yang anda ingin warisi tanpa menggunakan pembinanya. Contohnya:
const Model = { // Base object properties and methods... }; const RestModel = Object.create(Model);
Jika, walau bagaimanapun, anda ingin memanggil fungsi pembina objek asas pada objek pewarisan, maka anda harus menggunakan yang baharu. Contohnya:
function Model() { // Base object constructor... } function RestModel() { Model.call(this); // Additional properties and methods... }
Penyelesaian untuk Senario Anda
Dalam kes anda, anda ingin mewarisi RestModel daripada objek asas Model. Untuk mencapai ini menggunakan Object.create, anda akan melakukan perkara berikut:
RestModel.prototype = Object.create(Model.prototype);
Ini akan mencipta prototaip RestModel baharu yang mewarisi daripada prototaip Model.
Atas ialah kandungan terperinci Bila untuk Memilih Object.create Over new untuk Warisan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!