Teknik Orientasi Objek ECMAScript

Terminologi Orientasi Object

Objek

ECMA-262 mendefinisikan objek (object) sebagai "koleksi atribut yang tak berurutan, setiap atribut menempatkan nilai primitif, objek, atau fungsi". Dalam arti yang ketat, ini berarti objek adalah daftar nilai yang tak berurutan.

Meskipun ECMAScript seperti yang didefinisikan objek, definisi yang lebih umumnya adalah representasi kata (orang, tempat, atau hal) berdasarkan kode.

Kelas

Setiap objek dideskripsikan oleh kelas, dapat dianggap seperti resep objek. Kelas tidak hanya mendefinisikan antarmuka objek (atribut dan metode yang diakses pengembang), tetapi juga mendefinisikan kerja internal objek (kode yang menjalankan atribut dan metode). Compiler dan interpreter membangun objek berdasarkan keterangan kelas.

Instansi

Ketika program menggunakan kelas untuk membuat objek, objek yang dihasilkan disebut instansi kelas (instance). Batasan tunggal untuk jumlah objek yang dihasilkan kelas adalah memori fisik mesin yang menjalankan kode. Setiap instansi memiliki perilaku yang sama, tetapi mengelola sekelompok data yang terpisah. Proses membuat instansi objek melalui kelas disebut instantiasi (instantiation).

Dalam bab sebelumnya kami disebutkan bahwa ECMAScript tidak memiliki kelas resmi. Sebaliknya, ECMA-262 mendefinisikan objek sebagai resep objek. Ini adalah kompromi logis ECMAScript, karena definisi objek sebenarnya adalah objek sendiri. Meskipun kelas tidak sebenarnya ada, kami memanggil definisi objek ini dengan kelas karena sebagian besar pengembang lebih akrab dengan istilah ini, dan secara fungsi keduanya adalah ekvivalent.

Kebutuhan Bahasa Berorientasi Objek

Sebuah bahasa berorientasi objek memerlukan empat kemampuan dasar untuk diberikan kepada pengembang:

  1. Encapsulation - Kemampuan menyimpan informasi yang berhubungan (baik data maupun metode) di dalam objek
  2. Aggregasi - Kemampuan menyimpan objek di dalam objek lain
  3. Pemindaan - Kemampuan mendapatkan atribut dan metode dari kelas lain (atau beberapa kelas)
  4. Polimorfisme - Kemampuan menulis fungsi atau metode yang dapat berjalan dengan berbagai cara

ECMAScript mendukung permintaan ini, sehingga dapat dianggap sebagai berorientasi objek.

Konstitusi Objek

Dalam ECMAScript, objek dibentuk oleh atribut (attribut), atribut dapat berupa nilai primitif atau nilai referensi. Jika atribut menempatkan fungsi, ia dianggap sebagai metode objek (method), lainnya atribut dianggap sebagai properti objek (property).