The Definition

“Tony Stark memakai Iron Man Suit Mark II”
Tony Stark -> Subjek
memakai -> Predikat
Iron Man Suit Mark II-> Objek!

Objek adalah variabel yang banyak nilainya. Karena, “Iron Man Suit Mark II” memiliki warna, material, senjata dan lain-lain.

Objek dibungkus pake kurung kurawal {}. Ini contoh objek dari Iron Man yang Mark II.

let ironMan = {
  creator: ["Tony Stark"],
  pilot:["Tony Stark", "James Rhodes"],
  mark: 2,
  codeName: "",
  class: "basic",
  type: "Prototype Flight Armor",
  color: "",
  height: 6,
  powerCore: "Palladium Arc Reactor Mark II",
  feature: ["Gauntlet", "Boots"],
  system: ["J.A.R.V.I.S", "Status system", "Propulsion System"]
}

Property & Method

Dua kata ini sering banget dijumpai kalau lagi ngebahas objek. Biar kagak bingung, saya catet nih pemahaman saya tentang property dan method.

Property

Property adalah nilai yang diem aja gitu. Variabel biasa aja gitu. Haha. Tapi di dalem objek. Semua nilai yang ada pada objek ironMan di atas adalah property. Ngaksesnya tinggal ditambahin titik doang setelah nama objek.

console.log(ironMan.mark);
// 2
console.log(ironMan.pilot);
// ["Tony Stark", "James Rhodes"]
console.log(ironMan.weapon);
// ["Repulsor", "Unibeam"]

Untuk assign nilai baru, tinggal diganti aja dengan cara yang sama kayak variabel biasa. Misal, saya mau upgrade Mark II jadi Mark III.

ironMan.mark = 3;

console.log(ironMan.mark);
// 3

Saya juga bisa nambahin properti yang belum ada. Saya mau nambahin status dalam objek ironMan.

ironMan.status = "Destroyed";

console.log(ironMan.status);
// Destroyed

Kalau mau ngehapus property tinggal pake operator delete. Mari saya hapus property status di objek ironMan. Maka, si status bakal jadi undefined.

delete ironMan.status;

console.log(ironMan.status);
// undefined

Method

Sedangkan Method adalah semacam fungsi yang bisa merubah suatu nilai, atau yang bisa menentukan perilaku suatu objek. Iron Man kan bisa terbang ya. Mari saya bikin method biar Iron Man bisa terbang.

ironMan.flight = function () {
  console.log("I'm flying motherfucker!");
}

ironMan.flight();
// I'm flying motherfucker!

Atau kita bisa tentuin speednya biar ceritanyaaaaa, terbangnya bervariasi gitu.. hehe

ironMan.flight = function (speed) {
  if (speed <= 0) {
    console.log("You didn't push the pedal dude");
  } else if (speed <= 20) {
    console.log("Am I a fly?");
  } else if (speed <= 50){
    console.log("Steady, baby");
  } else if (speed <= 100) {
    console.log("Okay, I got my wheels!");
  } else if (speed > 100) {
    console.log("I'm flying super fast!");
  }
}

ironMan.flight(75);
// Okay, I got my wheels!

Untuk ngehapusnya mah, sama aja kayak hapus property. Bisa pake delete.

This

Nanti aje, di pos berikutnya ya. Saya mau bobo dulu.