Rumah > hujung hadapan web > tutorial js > Bagaimanakah `.prototype` JavaScript Mendayakan Warisan Tanpa Kelas?

Bagaimanakah `.prototype` JavaScript Mendayakan Warisan Tanpa Kelas?

Patricia Arquette
Lepaskan: 2024-12-29 00:18:14
asal
490 orang telah melayarinya

How Does JavaScript's `.prototype` Enable Inheritance Without Classes?

JavaScript .prototype: Membongkar Warisan Tanpa Kelas

JavaScript, tidak seperti bahasa berasaskan kelas, merangkumi paradigma berasaskan prototaip. Pendekatan ini memupuk penciptaan objek dinamik dan pewarisan harta tanpa menentukan kelas secara eksplisit. Memahami sifat .prototaip yang membingungkan adalah penting untuk menavigasi model pengaturcaraan ini.

Berbeza dengan pewarisan klasik, di mana objek dijadikan instantiated daripada pelan tindakan yang dikenali sebagai kelas, JavaScript menghasilkan objek terus daripada objek lain. Sifat .prototaip memainkan peranan penting dalam proses ini, bertindak sebagai pelan tindakan untuk kejadian baharu.

Pertimbangkan coretan kod berikut:

var Person = { name: "John" };
var person2 = new Person;
person2.getName = function() { alert(this.name); };
Salin selepas log masuk

Dalam contoh ini, Orang ialah objek yang mewakili seseorang yang mempunyai harta nama. Barisan Orang baharu mencipta objek baharu orang2, yang mewarisi sifat nama daripada Orang.

Cerapan utama terletak pada sifat .prototaip. Setiap objek dalam JavaScript mempunyai sifat .prototype, iaitu objek itu sendiri. Apabila objek baharu dicipta, sifat .prototaipnya menghala ke objek dari mana objek itu dicipta.

Dalam contoh kita, sifat .prototaip person2 akan merujuk kepada Orang. Ini membolehkan person2 mewarisi sifat dan kaedah yang ditakrifkan dalam Person.prototype.

Kod sampel kami menunjukkan warisan ini dengan mentakrifkan fungsi getName secara dinamik pada person2.prototype. Memandangkan person2 mewarisi daripada Person, ia mendapat akses kepada fungsi tambahan ini.

Warisan berasaskan prototaip JavaScript membolehkan penggunaan memori yang cekap, mengurangkan pertindihan kod dan memudahkan manipulasi objek dinamik.

Atas ialah kandungan terperinci Bagaimanakah `.prototype` JavaScript Mendayakan Warisan Tanpa Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan