Teknologi Orientasi Objek ECMAScript

Terminologi Berorientasi Objek

Objek

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

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

Kelas

Setiap objek disusun oleh definisi kelas, kita dapat melihat kelas sebagai resep objek. Kelas tidak hanya mendefinisikan antarmuka objek (property dan metode yang diakses pengembang), tetapi juga mendefinisikan kerja internal objek (kode yang menjalankan properti dan metode). Compiler dan interpreter membangun objek berdasarkan keterangan kelas.

Instansiasi

Ketika program menggunakan kelas untuk membuat objek, objek yang dihasilkan disebut instansiasi kelas (instance). Batasan yang satu-satunya bagi jumlah objek yang dihasilkan kelas adalah memori fisik mesin yang menjalankan kode. Setiap instansiasi memiliki perilaku yang sama, tetapi setiap instansiasi mengelola grup data yang terpisah. Proses membuat instansiasi objek dari kelas disebut instantiasi (instantiation).

Pada bab sebelumnya kami menyebutkan 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 sebenarnya tidak ada, kami memanggil definisi objek sebagai kelas karena sebagian besar pengembang lebih akrab dengan istilah ini, dan secara fungsi keduanya adalah ekuisit.

Permintaan Bahasa Berorientasi Objek

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

  1. Encapsulation - Kemampuan menyimpan informasi yang relevan (baik data maupun metode) dalam objek
  2. Aggregasi - Kemampuan menyimpan objek dalam objek lain
  3. Penerus - Kemampuan mendapatkan properti 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.

Konsut Objek

Dalam ECMAScript, objek disusun dari atribut (atribut), atribut dapat menjadi nilai asli atau nilai referensi. Jika atribut menyimpan fungsi, ia dianggap sebagai metode objek (method), jika tidak, atribut dianggap sebagai properti objek (property).