
Object Methods: Memberikan "Aksi" pada Objek Anda
Jika Properti dalam sebuah objek adalah kata benda (data), maka Method adalah kata kerja (aksi). Dengan method, objek tidak hanya sekadar menjadi wadah penyimpanan data, tetapi juga menjadi entitas yang bisa melakukan sesuatu.
1. Apa Itu Object Method?
Object Method adalah sebuah properti pada objek yang nilainya berupa sebuah fungsi. Method mendefinisikan perilaku dari objek tersebut.
Analogi Sederhana
Bayangkan sebuah objek Mobil:
-
Properti:
merek,warna,bahanBakar. -
Method:
starter(),gas(),rem().
Contoh Kode Dasar
const player = { name: "GamerPro", level: 10, // Ini adalah Method shout: function() { console.log("Victory shall be mine!"); }
}; // Cara memanggilnya:
player.shout(); // Output: Victory shall be mine!
2. Kata Kunci this: Jembatan Data
Seringkali, sebuah method perlu mengambil data dari properti lain di dalam objek yang sama. Untuk melakukan ini, kita menggunakan kata kunci this.
Di dalam sebuah method, this merujuk pada objek pemilik method tersebut.
const user = { firstName: "Budi", lastName: "Santoso", greet: function() { // Menggunakan 'this' untuk mengakses properti di satu objek console.log("Halo, saya " + this.firstName + " " + this.lastName); }
}; user.greet(); // Output: Halo, saya Budi Santoso
3. Penulisan Singkat (Method Shorthand) - ES6
Sejak pembaruan ES6, kita tidak perlu lagi menggunakan kata kunci function dan titik dua (:) untuk mendefinisikan method. Ini membuat kode jauh lebih bersih.
Cara Lama:
sayHi: function() { ... }
Cara Modern (Shorthand):
const toko = { nama: "Sinar Jaya", buka() { console.log("Toko sekarang buka!"); }, tutup() { console.log("Toko sudah tutup."); }
};
4. Method dengan Parameter
Sama seperti fungsi biasa, method juga bisa menerima input (parameter) untuk mengolah data secara dinamis.
const kalkulator = { hasil: 0, tambah(angka) { this.hasil += angka; }, reset() { this.hasil = 0; }
}; kalkulator.tambah(10);
kalkulator.tambah(5);
console.log(kalkulator.hasil); // Output: 15
5. Perhatian Khusus: Arrow Functions
Sangat penting untuk diingat: Jangan gunakan Arrow Function (=>) untuk membuat method jika Anda berencana menggunakan this.
Arrow function tidak memiliki this sendiri; ia mengambil this dari luar lingkup objeknya (biasanya objek global/window).
const person = { nama: "Andi", panggil: () => { console.log(this.nama); }
}; person.panggil(); // Output: undefined (karena 'this' merujuk ke Window, bukan ke person)
6. Mengapa Menggunakan Method?
-
Enkapsulasi: Mengelompokkan data dan fungsi yang berhubungan di satu tempat.
-
Organisasi Kode: Kode menjadi lebih terstruktur dan mudah dibaca (seperti membaca kalimat).
-
Kemudahan Maintenance: Jika ada perubahan logika pada aksi tertentu, Anda hanya perlu mencarinya di dalam objek yang bersangkutan.
Kesimpulan
Object Method mengubah data statis menjadi aplikasi yang dinamis. Dengan menggabungkan Properti, Method, dan kata kunci this, Anda dapat merepresentasikan sistem dunia nyata ke dalam kode JavaScript dengan sangat akurat.