Seperti yang kita tahu dari bab Tipe data, ada delapan tipe data di JavaScript. Enak dari mereka disebut “primitif”, karena nilai mereka berisi cuma satu hal tunggal (entah string atau angka atau apapun).
Kontrasnya, objek dipakai untuk menyimpan koleksi terkunci dari berbagai data dan entitas rumit lainnya. Di JavaScript, objek menembus hampir tiap aspek bahasa. Jadi kita harus memahami mereka dulu sebelum masuk lebih dalam ke manapun.
Tiap objek bisa dibuat dengan tanda bracket {…} dengan daftar properti opsional. Properti ialah pasangan “key: value”, di mana key string (juga disebut “nama properti”), dan value bisa apapun.
Kita bisa bayangkan objek sebagai kabinet dengan file bertanda. Tiap potong data disimpan di dalam filenya dengan kuncinya. Mudah mencari filenya dengan namanya atau menambah/menghapus satu file.
Objek kosong (“kabinet kosong”) bisa dibuat memakai salah satu dari dua syntax:
let user = new Object(); // syntax "konstruktor objek"
let user = {}; // syntax "literal objek"
Biasanya, tanda bracket {...} dipakai. Deklarasi itu disebut literal objek.
Literal dan properti
Kita bisa segera menaruh beberapa properti ke dalam {...} sebagai pasangan “key: value”:
let user = { // objek
name: "John", // dengan kunci "name" menyimpan nilai "John"
age: 30 // dengan kunci "age" menyimpan nilai 30
};
Properti punya kunci (juga disebut “nama” atau “identifier”) sebelum colon ":" dan nilai di sebelah kanannya.
Dalam objek user, ada dua properti:
- Properti pertama punya nama
"name"dan nilai"John". - Yang kedua punya nama
"age"dan nilai30.
Hasil objek user bisa dibayangkan sebagai kabinet dengan dua file bertanda dengan label “name” dan “age”.
Kita bisa tambah, hapus dan baca file darinya kapanpun.
Nilai properti bisa diakses memakai notasi dot:
// ambil nilai properti objek:
alert( user.name ); // John
alert( user.age ); // 30
Nilainya bisa tipe apapun. Ayo tambah nilai boolean:
user.isAdmin = true;
Untuk menghapus properti, kita bisa pakai operator delete:
delete user.age;
Kita juga bisa memakai nama properti multi-kata, tapi mereka harus diquotasi:
let user = {
name: "John",
age: 30,
"likes birds": true // nama properti multi-kata harus diquotasi
};