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); };
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!