0Pricing
JavaScript Academy · Pelajaran

Dasar this; call/apply/bind (pengantar)

Pahami rujukan this dalam fungsi dan metode; pelajari this pada fungsi panah, serta pengantar call/apply/bind.

Dasar this; call/apply/bind (pengantar) adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 3 pelajaran total.

Pengantar this

Tujuan: Lihat apa yang dirujuk oleh this dalam berbagai pemanggilan, pelajari this pada fungsi panah, dan coba call/apply/bind secara bertahap.

  • Metode vs pemanggilan biasa
  • this pada fungsi panah
  • call/apply/bind
Dasar this; call/apply/bind (pengantar) — ilustrasi 1

this pada pemanggilan metode

Dalam pemanggilan metode, this menunjuk ke objek sebelum tanda titik.

// Method call: this is the object before the dot
const user = {
  name: "Ayla",
  say() {
    console.log("I am", this.name);
  }
};

user.say();
Dasar this; call/apply/bind (pengantar) — ilustrasi 2

this pada pemanggilan biasa

Pada pemanggilan biasa, this bernilai undefined dalam mode ketat. Di peramban tanpa mode ketat, nilainya mungkin berupa window.

// Plain function call: this is undefined in strict mode
function show() {
  console.log("this is", this);
}

show();
Dasar this; call/apply/bind (pengantar) — ilustrasi 3

this pada fungsi panah (leksikal)

Fungsi panah menggunakan this dari lingkup luar (secara leksikal). Ini sangat cocok untuk fungsi panggilan balik di dalam metode.

// Arrow functions do not have their own this
// They capture this from the surrounding scope
const team = {
  title: "Blue",
  start() {
    const report = () => {
      console.log("Team:", this.title);
    };
    report();
  }
};

team.start();
Dasar this; call/apply/bind (pengantar) — ilustrasi 4

call vs apply

call dan apply langsung menjalankan fungsi dengan this yang diberikan.

// call/apply invoke the function with a chosen this
function intro(lang1, lang2) {
  console.log("User:", this.name, "knows", lang1, "and", lang2);
}

const person = { name: "Mina" };

// call passes arguments normally
intro.call(person, "JS", "TS");

// apply passes arguments as an array
intro.apply(person, ["JS", "TS"]);
Dasar this; call/apply/bind (pengantar) — ilustrasi 5

Dasar-dasar bind

bind mengembalikan fungsi baru yang mengingat this yang dipilih untuk pemanggilan berikutnya.

// bind creates a new function with this fixed
function sayHi() {
  console.log("Hi from", this.name);
}

const dev = { name: "Lena" };

const sayHiFromLena = sayHi.bind(dev);

sayHiFromLena();
sayHiFromLena();
Dasar this; call/apply/bind (pengantar) — ilustrasi 6

Kuis bind vs call/apply

Pemeriksaan singkat: Memperbaiki this.

Dasar this; call/apply/bind (pengantar) — ilustrasi 7

Ringkasan

Ringkasan: Pemanggilan metode menetapkan this ke objek, pemanggilan biasa menghasilkan this yang undefined dalam mode ketat, fungsi panah menangkap this dari lingkup luar, call/apply menetapkannya untuk satu pemanggilan, dan bind menetapkannya untuk pemanggilan berikutnya.

Dasar this; call/apply/bind (pengantar) — ilustrasi 8

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Dasar this; call/apply/bind (pengantar)” gratis?

Ya — teks lengkap “Dasar this; call/apply/bind (pengantar)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Dasar this; call/apply/bind (pengantar)”?

Pahami rujukan this dalam fungsi dan metode; pelajari this pada fungsi panah, serta pengantar call/apply/bind. Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai JavaScript Academy?

Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.

Berapa lama pelajaran “Dasar this; call/apply/bind (pengantar)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?

Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Deklarasi vs Ekspresi, Dasar Panah
  2. Parameter, Nilai Bawaan, Rest, dan Nilai Kembalian
  3. Dasar this; call/apply/bind (pengantar)
← Kembali ke JavaScript Academy