logo logo

Portal media terdepan yang menyajikan informasi terkini seputar dunia teknologi, gadget, dan inovasi digital di Indonesia.

Sentral Media

Langganan Update Teknologi

Dapatkan rangkuman berita mingguan langsung ke email Anda.

Daftar Newsletter

Surabaya, Indonesia

Kota Surabaya, Jawa Timur

Email: redaksi@sentralmediateknologi.id

Frontend & Ui/Ux

Konsep this pada JavaScript: Konteks Eksekusi Dasar.

Konsep this dalam JavaScript seringkali dianggap sebagai salah satu bagian yang paling membingungkan bagi pengembang. Namun, kuncinya terletak pada satu aturan emas: Nilai this tidak ditentukan saat fungsi ditulis, melainkan saat fungsi tersebut dipanggil (Execution Context). Mari kita bedah secara mendalam bagaimana this bekerja dalam konteks eksekusi dasar.

avatar
Super Administrator

SentralMediaTeknologi.id


  • 14 Mei 2026
  • 00:28 WIB

Konsep this dalam JavaScript seringkali dianggap sebagai salah satu bagian yang paling membingungkan bagi pengembang. Namun, kuncinya terletak pada satu aturan emas: Nilai this tidak ditentukan saat fungsi ditulis, melainkan saat fungsi tersebut dipanggil (Execution Context).

Mari kita bedah secara mendalam bagaimana this bekerja dalam konteks eksekusi dasar.


1. Apa Itu this?

this adalah sebuah kata kunci khusus (keyword) yang merujuk pada sebuah objek. Objek mana yang dirujuk? Tergantung pada "siapa" yang memanggil fungsi tersebut atau di mana kode tersebut sedang dijalankan.


2. Global Execution Context

Jika Anda menggunakan this di luar fungsi apa pun (di tingkat paling atas kode Anda), maka this merujuk pada Global Object.

  • Di Browser, global object adalah window.

  • Di Node.js, global object adalah global.

JavaScript
console.log(this); // Di browser, akan muncul objek Window

Jika Anda mendefinisikan variabel secara global (menggunakan var), variabel tersebut akan menjadi properti dari this.


3. Konteks di Dalam Fungsi (Function Context)

Dalam pemanggilan fungsi biasa, nilai this bergantung pada apakah Anda menggunakan Strict Mode atau tidak.

A. Non-Strict Mode

Secara default, jika fungsi dipanggil tanpa objek pemilik, this akan merujuk ke Global Object (window).

JavaScript
function cekThis() { console.log(this);
}
cekThis(); // Output: Window

B. Strict Mode ("use strict";)

Dalam mode ketat, JavaScript tidak mengizinkan "pemaksaan" ke objek global. Jadi, jika fungsi dipanggil tanpa pemilik, this akan bernilai undefined.

JavaScript
"use strict";
function cekThis() { console.log(this);
}
cekThis(); // Output: undefined

4. Method Context (Objek Pemilik)

Saat sebuah fungsi dipanggil sebagai method dari sebuah objek, this akan merujuk pada objek yang memanggilnya. Ini adalah cara paling umum kita menggunakan this.

JavaScript
const user = { nama: "Rian", panggilNama() { console.log(this.nama); }
}; user.panggilNama(); // Output: Rian (this merujuk ke objek 'user')

5. Masalah Kehilangan Konteks (Context Loss)

Salah satu kesalahan umum adalah ketika kita memindahkan method ke variabel lain. Konteks this-nya bisa hilang.

JavaScript
const fungsiPanggil = user.panggilNama;
fungsiPanggil(); // Output: undefined (karena sekarang dipanggil sebagai fungsi biasa, bukan method user)

6. Arrow Functions: Pengecualian Spesial

Arrow functions (=>) tidak memiliki this sendiri. Mereka bersifat Lexical Scope, artinya mereka "meminjam" nilai this dari lingkungan (scope) di mana arrow function itu dibuat.

JavaScript
const bot = { nama: "Robo", halo: () => { console.log(this.nama); }
}; bot.halo(); // Output: undefined (karena 'this' merujuk ke scope luar/global, bukan 'bot')

Ringkasan Aturan this

Situasi Nilai this
Global Scope Global Object (window)
Fungsi Biasa Global Object (atau undefined jika strict mode)
Method Objek Objek yang memiliki method tersebut
Arrow Function Mengambil this dari lingkungan luar (lexical)

Kesimpulan Singkat

Untuk mengetahui nilai this, lihatlah di sebelah kiri tanda titik (.) saat fungsi dipanggil. Jika ada user.panggil(), maka this adalah user. Jika tidak ada titik, kemungkinan besar this adalah global atau undefined.

Stories

avatar

Jurnalis dan analis internasional, mengurai dinamika geopolitik, ekonomi global, dan konflik dunia dengan ketajaman dan kedalaman.


Bagikan artikel ini

Stay Connected