Pemrograman Berorientasi Objek (OOP) memungkinkan kita membuat cetak biru terstruktur untuk data kita.
Pewarisan (Inheritance)
Jangan mengulang diri sendiri (DRY). Jika Anda memiliki Anjing dan Kucing, keduanya adalah Hewan. Kita bisa menggunakan extends untuk berbagi logika umum.
javascript
class Hewan {
constructor(nama) {
this.nama = nama;
}
bicara() {
console.log(this.nama + " bersuara.");
}
}
class Anjing extends Hewan {
bicara() {
// Menimpa metode induk
console.log(this.nama + " menggonggong!");
}
}
const d = new Anjing("Rex");
d.bicara(); // "Rex menggonggong!"Modul (Impor/Ekspor)
Sebelum modul ES6, kita harus meletakkan semuanya dalam satu file raksasa atau mengandalkan variabel global. Modul bertindak sebagai Firewall. Variabel yang didefinisikan dalam modul tetap berada dalam modul itu kecuali diekspor secara eksplisit.