Bagaimana untuk menulis oop dalam javascript
Dalam pembangunan web, JavaScript telah menjadi bahasa pengaturcaraan yang sangat popular. Dalam JavaScript, pengaturcaraan berorientasikan objek (OOP) adalah konsep penting. Menggunakan OOP, anda boleh menstruktur kod anda dan mengurangkan pertindihannya, menjadikannya lebih mudah untuk diselenggara dan dilanjutkan. Artikel ini akan memperkenalkan cara menulis OOP dalam JavaScript.
- Prototaip dan pembina
Dalam JavaScript, sifat dan kaedah sesuatu objek boleh dikongsi melalui prototaip, manakala pembina digunakan untuk Mencipta objek baharu dan memulakan sifatnya . Berikut ialah contoh mudah menggunakan pembina dan prototaip:
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayHi = function() { console.log("Hi, my name is " + this.name + " and I'm " + this.age + " years old."); } var person1 = new Person("John", 30); var person2 = new Person("Mary", 25); person1.sayHi(); // Hi, my name is John and I'm 30 years old. person2.sayHi(); // Hi, my name is Mary and I'm 25 years old.
Dalam contoh di atas, kami mentakrifkan Person
pembina yang memulakan sifat name
dan age
. Kemudian, kami menggunakan Person.prototype
untuk menambah kaedah Person
pada setiap objek sayHi
, yang boleh dikongsi oleh semua Person
objek. Akhir sekali, kami mencipta dua Person
objek dan memanggil kaedah sayHi
mereka.
- Kelas
Dalam ES6, JavaScript memperkenalkan konsep kelas dan menggunakan kata kunci class
untuk melaksanakannya. Kelas menyediakan sintaks yang lebih bersih dan lebih mudah difahami untuk menentukan objek.
Berikut ialah contoh menggunakan kelas:
class Person { constructor(name, age) { this.name = name; this.age = age; } sayHi() { console.log("Hi, my name is " + this.name + " and I'm " + this.age + " years old."); } } let person1 = new Person("John", 30); let person2 = new Person("Mary", 25); person1.sayHi(); // Hi, my name is John and I'm 30 years old. person2.sayHi(); // Hi, my name is Mary and I'm 25 years old.
Dalam contoh di atas, kami mentakrifkan kelas class
menggunakan kata kunci Person
dan memulakannya dalam kaedah constructor
Atribut name
dan age
ditambah. Kemudian, kami mentakrifkan kaedah sayHi
untuk mengeluarkan ucapan. Akhir sekali, kami mencipta dua Person
objek dan memanggil kaedah sayHi
mereka.
- Warisan
Dalam OOP, pewarisan bermaksud memperoleh objek baharu daripada objek sedia ada, dan objek baharu mewarisi sifat dan kaedah objek asal. Dalam JavaScript, warisan boleh dicapai dengan menggunakan prototype
dan class
.
Berikut ialah contoh penggunaan prototype
untuk melaksanakan warisan:
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayHi = function () { console.log("Hi, my name is " + this.name + " and I'm " + this.age + " years old."); } function Student(name, age, major) { Person.call(this, name, age); this.major = major; } Student.prototype = Object.create(Person.prototype); Student.prototype.constructor = Student; Student.prototype.sayMajor = function() { console.log("My major is " + this.major + "."); } let person1 = new Person("John", 30); let student1 = new Student("Mary", 25, "Computer Science"); person1.sayHi(); // Hi, my name is John and I'm 30 years old. student1.sayHi(); // Hi, my name is Mary and I'm 25 years old. student1.sayMajor(); // My major is Computer Science.
Dalam contoh di atas, kami mentakrifkan pembina Person
dan menambah kaedah sayHi
pada prototaip. Selain itu, kami mentakrifkan pembina Student
, dipanggil pembina call
menggunakan kaedah Person
untuk memulakan sifat name
dan age
dan menambah sifat major
. Kami kemudian membuat salinan Object.create
menggunakan kaedah Person.prototype
dan menetapkannya kepada Student.prototype
supaya objek Student
boleh mewarisi sifat dan kaedah objek Person
. Akhir sekali, kami mentakrifkan kaedah sayMajor
untuk mengeluarkan major pelajar. Akhir sekali, kami mencipta objek Person
dan objek Student
dan memanggil kaedahnya.
Berikut ialah contoh penggunaan class
untuk melaksanakan warisan:
class Person { constructor(name, age) { this.name = name; this.age = age; } sayHi() { console.log("Hi, my name is " + this.name + " and I'm " + this.age + " years old.") } } class Student extends Person { constructor(name, age, major) { super(name, age); this.major = major; } sayMajor() { console.log("My major is " + this.major + "."); } } let person1 = new Person("John", 30); let student1 = new Student("Mary", 25, "Computer Science"); person1.sayHi(); // Hi, my name is John and I'm 30 years old. student1.sayHi(); // Hi, my name is Mary and I'm 25 years old. student1.sayMajor(); // My major is Computer Science.
Dalam contoh di atas, kami mentakrifkan kelas Person
dan memulakan constructor
dalam kaedah name
dan atribut age
dan keluarkan ucapan dalam kaedah sayHi
. Kemudian, kami mencipta kelas extends
menggunakan kata kunci Student
dan memanggil kaedah super
kelas Person
menggunakan kata kunci constructor
untuk memulakan sifat name
dan age
dan menambah major
Hartanah. Akhir sekali, kami mentakrifkan kaedah sayMajor
untuk mengeluarkan major pelajar. Akhir sekali, kami mencipta objek Person
dan objek Student
dan memanggil kaedahnya.
Kesimpulan:
Dalam JavaScript, OOP ialah konsep yang sangat penting dengan menggunakan objek, pembina, prototaip dan kelas boleh menyusun kod dengan lebih baik dan mengurangkan pertindihan. Warisan boleh dicapai melalui prototaip dan kelas. Bermula dengan ES6, JavaScript memperkenalkan kata kunci class
, yang menyediakan sintaks yang lebih ringkas dan mudah difahami untuk mentakrifkan objek. Apabila boleh, adalah penting untuk memilih pendekatan yang betul untuk menulis kod OOP kerana ini akan menghasilkan faedah yang ketara dalam pembangunan dan penyelenggaraan projek.
Atas ialah kandungan terperinci Bagaimana untuk menulis oop dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel ini membincangkan useeffect dalam React, cangkuk untuk menguruskan kesan sampingan seperti pengambilan data dan manipulasi DOM dalam komponen berfungsi. Ia menerangkan penggunaan, kesan sampingan yang biasa, dan pembersihan untuk mencegah masalah seperti kebocoran memori.

Artikel ini menerangkan algoritma perdamaian React, yang dengan cekap mengemas kini DOM dengan membandingkan pokok DOM maya. Ia membincangkan manfaat prestasi, teknik pengoptimuman, dan kesan terhadap pengalaman pengguna. Kira -kira: 159

Fungsi pesanan yang lebih tinggi dalam JavaScript meningkatkan ketabahan kod, kebolehgunaan semula, modulariti, dan prestasi melalui abstraksi, corak umum, dan teknik pengoptimuman.

Artikel ini membincangkan kari dalam JavaScript, teknik yang mengubah fungsi multi-argumen ke dalam urutan fungsi argumen tunggal. Ia meneroka pelaksanaan kari, faedah seperti aplikasi separa, dan kegunaan praktikal, meningkatkan kod baca

Artikel ini menerangkan USEContext dalam React, yang memudahkan pengurusan negara dengan mengelakkan penggerudian prop. Ia membincangkan faedah seperti keadaan terpusat dan penambahbaikan prestasi melalui pengurangan semula yang dikurangkan.

Artikel membincangkan penyambungan komponen reaksi ke kedai redux menggunakan Connect (), menerangkan MapStateToprops, MapdispatchToprops, dan kesan prestasi.

Artikel membincangkan menghalang tingkah laku lalai dalam pengendali acara menggunakan kaedah pencegahanDefault (), faedahnya seperti pengalaman pengguna yang dipertingkatkan, dan isu -isu yang berpotensi seperti kebimbangan aksesibiliti.

Artikel ini membincangkan kelebihan dan kekurangan komponen terkawal dan tidak terkawal dalam React, yang memberi tumpuan kepada aspek seperti ramalan, prestasi, dan kes penggunaan. Ia menasihatkan faktor -faktor yang perlu dipertimbangkan ketika memilih di antara mereka.
