this bersifat dinamis. Nilainya berubah berdasarkan bagaimana sebuah fungsi dipanggil.
Pengikatan Eksplisit (Explicit Binding)
Memaksa Konteks
Terkadang Anda ingin memaksa fungsi untuk menggunakan objek tertentu sebagai this. Kita menggunakan .call() atau .bind().
javascript
const orang1 = { nama: "Budi" };
const orang2 = { nama: "Siti" };
function perkenalan(minat) {
console.log(`Hai, saya ${this.nama} dan saya suka ${minat}.`);
}
// 1. Call: Menjalankan segera
perkenalan.call(orang1, "Koding");
// 2. Bind: Mengembalikan fungsi BARU untuk digunakan nanti
// Sangat berguna di event handler React!
const sitiIntro = perkenalan.bind(orang2);
sitiIntro("Game");Arrow Functions
Arrow function tidak peduli tentang binding. Mereka hanya menggunakan this dari kode di sekitarnya (Lexical Scoping). Inilah mengapa kita menggunakannya di komponen React.