Tinjauan Kelas JavaScript
Ringkasan Pelajaran
Dalam tinjauan ini, kita akan membahas konsep inti dari Object-Oriented Programming (OOP) di JavaScript, dengan fokus pada sintaks `class` modern dan bagaimana kaitannya dengan sistem berbasis prot...
Dalam tinjauan ini, kita akan membahas konsep inti dari Object-Oriented Programming (OOP) di JavaScript, dengan fokus pada sintaks class modern dan bagaimana kaitannya dengan sistem berbasis prototipe JavaScript.
1. Kelas sebagai Cetak Biru (Blueprints)
Sebuah kelas berfungsi sebagai templat untuk membuat objek. Ini mendefinisikan properti dan perilaku yang akan dimiliki oleh objek yang dibuat darinya (instance).
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
displayInfo() {
console.log(`Mobil: ${this.make} ${this.model}`);
}
}
2. Metode constructor
constructor adalah metode khusus yang digunakan untuk membuat dan menginisialisasi objek yang dibuat dengan kelas. Ini berjalan secara otomatis saat Anda menggunakan kata kunci new.
3. Kata Kunci this
Di dalam kelas, this mengacu pada instance spesifik dari objek yang sedang dibuat atau dimanipulasi. Ini memungkinkan Anda untuk mengatur dan mengakses properti yang unik untuk setiap objek.
4. Pewarisan dengan extends dan super
Pewarisan memungkinkan sebuah kelas untuk mengadopsi properti dan metode dari kelas lain. Hal ini mendorong penggunaan kembali kode dan kejelasan organisasi.
extends: Digunakan untuk membuat kelas anak (child class).super: Digunakan di dalam konstruktor anak untuk memanggil konstruktor induk.
5. Prototipe: Di Balik Layar
Penting untuk diingat bahwa kelas JavaScript adalah “syntactic sugar” di atas sistem pewarisan berbasis prototipe JavaScript yang sudah ada. Bahkan saat menggunakan kata kunci class, JavaScript masih menggunakan prototipe di balik layar.
Ringkasan
- Kelas: Templat untuk objek.
- Konstruktor: Fungsi inisialisasi.
this: Referensi ke instance saat ini.- Pewarisan: Berbagi perilaku antar kelas menggunakan
extends. - Prototipe: Mekanisme dasar untuk pewarisan di JavaScript.