Mahir freeCodeCamp • review-javascript-classes

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.