Pada dasarnya tujuan object tidak jauh berbeda dengan array, yaitu berfungsi untuk mengumpulkan beberapa data/nilai variabel menjadi satu kesatuan. Sebuah objek merupakan sekumpulan data yang disatukan menjadi satu kesatuan di dalam braket keriting/kurung kurawal ({}
). Setiap objek terdiri dari beberapa properti yang dipisahkan dengan tanda koma, dan setiap properti terdiri dari kunci/key dan nilai yang dipisahkan dengan tanda titik dua:
// var identity = { property1, property2, property3 };
// var identity = { key1: value1, key2: value2, key3: value3 };
var identity = { "nama": "Taufik", "usia": 21, "lajang": true };
Saya mulai dengan array. Saat kita menuliskan array, maka cara kita memanggil anggotanya adalah dengan menuliskan nama variabel yang diikuti oleh indeks anggota tersebut seperti ini:
var text = ["Taufik", 21, true];
document.write(text[0]); // Hasil => `Taufik`
Dalam objek, kita memanggil data tidak melalui indeks, melainkan melalui kunci properti. Pemanggilan dimulai dengan menuliskan nama variabel, kemudian diikuti dengan kunci properti yang diinginkan dengan pemisah berupa tanda titik:
var identity = {
"nama": "Taufik",
"usia": 21,
"lajang": true
};
document.write(identity.nama); // Hasil => `Taufik`
document.write(identity.usia); // Hasil => `21`
document.write(identity.lajang); // Hasil => `true`
Lainnya
Beberapa Cara Penulisan Object
Cara paling ringkas:
var x = { "nama": "Taufik", "usia": 21, "lajang": true };
Mendeklarasikan objek kosong, kemudian menuliskan anggotanya satu per satu:
var x = {};
x["nama"] = "Taufik";
x["usia"] = 21;
x["lajang"] = true;
Metode lama/primitif:
var x = new Object();
x["nama"] = "Taufik";
x["usia"] = 21;
x["lajang"] = true;
Pemanggilan Data seperti halnya Array
Ini adalah cara pemanggilan data yang disarankan:
var identity = {
"nama": "Taufik",
"usia": 21,
"lajang": true
};
document.write(identity.nama); // Hasil => `Taufik`
Namun kita juga bisa menggunakan konsep pemanggilan data seperti halnya penanganan data di dalam array, hanya saja indeks anggota tidak dituliskan sebagai angka melainkan sebagai nama properti:
var identity = {
"nama": "Taufik",
"usia": 21,
"lajang": true
};
document.write(identity["nama"]); // Hasil => `Taufik`
Objek Bertingkat/Beranak/Bercabang
Sebuah objek tidak terbatas pada isi berupa properti. Sebuah objek juga bisa berisi objek lain, fungsi, atau bahkan array seperti ini:
var identity = {
"nama": "Taufik",
"usia": 21,
"lajang": true,
"hobi": {
"makan": "roti",
"menggambar": ["arsitektur", "kartun", "abstrak"],
"favorit": {
"makanan": "roti",
"minuman": "air bening",
}
},
"visi": {},
"misi": {
2013: "apa ya?",
2014: "2013 saja belum apalagi 2014!"
},
"fungsi": function() {
alert("Say no to free sex!");
}
};
// Contoh-contoh pemanggilan...
document.write(identity.nama); // Hasil => `Taufik`
document.write(identity.hobi.makan); // Hasil => `roti`
document.write(identity.hobi["makan"]); // Hasil => `roti`
document.write(identity.hobi.favorit.minuman); // Hasil => `air bening`
document.write(identity["hobi"]["favorit"]["minuman"]); // Hasil => `air bening`
document.write(identity.hobi.menggambar[1]); // Hasil => `kartun`
identity.fungsi(); // Akan memicu tampilnya kotak pesan bertuliskan `Say no to free sex!`
Sebuah objek dengan data yang kompleks seperti contoh di atas bisa kita sebut sebagai JavaScript Object Notation (JSON)