Semua objek di javascript merupakan turunan dari objek yang bernama Object. Gimana? Pusing gak lu? Oh enggak.

Jadi ada yang namanya standard built-in objects, yaitu objek-objek standar yang udah tersedia di javascript. Salah satunya adalah Object.

Semua objek yang ada di javascript, termasuk objek yang kamu buat, adalah pewaris dari Object. Yang diwarisinya adalah properti dan method dari Object.prototype, walaupun nantinya bakal ditimpa oleh nilai yang baru.

Syntax

Cara bikin objek teh ada dua:

  1. Literal atau inisialisasi
  2. Menggunakan object constructor

Dalam objek ada yang namanya property dan method.

Property adalah nilai-nilai dalam objek yang memiliki nama.

Method adalah properti yang dapat melakukan aksi yang dilakukan dalam sebuah objek.

Literal

Ini cirinya ada kurung kurawal yang membungkus property dan methodnya.

let namaObjek = {
  namaProperti : "isi properti",
  namaMethod : function() {
    return "isi namaProperti = " + this.namaProperti;
  }
}

Constructor

First, bikin dulu object constructor functionnya. Dan inisialisasi objeknya dengan operator new.

function ObjekKonstruktor(param1, param2) {
  this.namaProperty = param1;
  this.namaMethod = param2;
}

let param1 = "isi properti";
let param2 = function() {
    return "isi namaProperti = " + this.namaProperti;
  }

let namaObjek = new ObjekKonstruktor(param1, param2);

new

Saya sekarang mau nulis tentang new, karena yang this udah pernah ditulis.

new adalah operator pada javascript untuk membuat sebuah instance dari objek yang dibuat oleh user maupun built-in object yang memiliki constructor function.

Seperti yang saya tulis di atas, saya membuat objek dengan nama namaObjek menginisialisasinya dengan operator new pada constructor function yang bernama ObjekKonstruktor.

let namaObjek = new ObjekKonstruktor(param1, param2);

delete

Untuk menghapus properti dalam objek, dibutuhkan operator yang namanya delete. Saya bakal hapus properti namaProperty dari objek namaObjek.

delete namaObjek.namaProperty;

console.log(namaObjek.namaProperty);
// undefined

Mutable

Objek pada javascript itu mutable atau tidak tetap. Jadi saya bisa membuat nama baru buat objek yang sudah ada.

let i = namaObjek;

Objek i bukan merupakan sebuah objek baru ataupun salinan dari objek namaObjek, melainkan adalah namaObjek itu sendiri.

i is namaObjek.

Jika saya merubah isi properti dari i maka isi properti dari namaObjek pun akan berubah.

i.namaMethod = "sudah bukan method lagi";

console.log(i.namaMethod); // sudah bukan method lagi
console.log(namaObjek.namaMethod); // sudah bukan method lagi

Ok, sebenernya saya udah nulis tentang objek juga sebelumnya. Tapi saya rasa saya harus nulis lagi dengan beberapa tambahan yang belum dibahas di tulisan yang sebelumnya itu. Karena blog ini catatan pribadi saya, jadi yasudah kumaha aing dong ah.