Fungsi dalam Objek di JavaScript
Dengan menggunakan simbol, kita dapat menambahkan fungsi ke dalam objek dan fungsi-fungsi ini tidak akan ikut dalam proses iterasi. Mari kita coba. Misalkan kita memiliki objek:
let obj = {a: 1, b: 2, c: 3};
Mari buat sebuah simbol:
let sym = Symbol();
Catat sebuah fungsi dalam objek dengan kunci berupa simbol kita:
obj[sym] = function() {
console.log('!!!');
};
Saat mengiterasi objek, fungsi kita tidak akan diiterasi:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Dapatkan fungsi kita dengan memberikan kunci berupa simbol kita (variabel yang sama):
let func = obj[sym];
func();
Kode dapat disingkat:
obj[sym]();
Tambahkan ke objek sebuah fungsi yang akan menampilkan waktu saat ini. Panggil fungsi tersebut.