0Pricing
JavaScript Academy · Pelajaran

Jebakan Ekstraksi Metode, Penerapan Parsial

Perbaiki ekstraksi metode dengan call/apply/bind dan pelajari pola penerapan parsial kecil menggunakan bind serta arrow pembungkus

Jebakan Ekstraksi Metode, Penerapan Parsial adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.

Gambaran umum

Tujuan: Pertahankan this setelah ekstraksi dan isi argumen terlebih dahulu.

  • call(thisArg, a, b)
  • apply(thisArg, [a, b])
  • bind(thisArg, a) → mengembalikan fungsi baru
  • Penerapan parsial dengan bind atau fungsi panah kecil
Jebakan Ekstraksi Metode, Penerapan Parsial — ilustrasi 1

Jebakan ekstraksi

Pemanggilan sebagai obj.method() berfungsi, tetapi mengekstrak fungsi tersebut menghilangkan objek dan merusak this.

// Extraction loses this
const user = {
  name: "Ayla",
  label: function (prefix) {
    return prefix + ":" + this.name;
  }
};

console.log("method call:", user.label("Hi")); // "Hi:Ayla"

// Extract
const f = user.label;
console.log("extracted:", f("Hi")); // this is missing -> "Hi:undefined" (in strict mode this is undefined)
Jebakan Ekstraksi Metode, Penerapan Parsial — ilustrasi 2

call/apply sekali pakai

call dan apply memungkinkan Anda menetapkan this untuk satu pemanggilan.

// Fix by passing this explicitly using call/apply
console.log("call :", f.call(user, "Hi"));   // "Hi:Ayla"
console.log("apply:", f.apply(user, ["Yo"])); // "Yo:Ayla"
Jebakan Ekstraksi Metode, Penerapan Parsial — ilustrasi 3

bind untuk digunakan kembali

bind membuat fungsi yang mengingat this. Panggil fungsi tersebut berkali-kali tanpa mengikatnya lagi.

// bind returns a new function with this fixed
const bound = f.bind(user);
console.log("bound once:", bound("Hey")); // "Hey:Ayla"
console.log("bound again:", bound("Yo")); // "Yo:Ayla"
Jebakan Ekstraksi Metode, Penerapan Parsial — ilustrasi 4

Penerapan parsial (sederhana)

Gunakan bind untuk mengisi argumen awal terlebih dahulu, atau gunakan pembungkus fungsi panah kecil untuk membekukan nilai dan this.

// Partial application: pre-fill arguments
function add(a, b, c) { return a + b + c; }

// Using bind: pre-fill a=10
const add10 = add.bind(null, 10);
console.log("add10(1,2):", add10(1, 2)); // 13

// Using an arrow wrapper: pre-fill prefix
const labelHi = function (obj) {
  return function () { return obj.label("Hi"); };
}(user);

console.log("arrow partial:", labelHi()); // "Hi:Ayla"
Jebakan Ekstraksi Metode, Penerapan Parsial — ilustrasi 5

Pola praktis

Kiat:

  • Metode yang diekstrak: gunakan bind sekali lalu gunakan kembali.
  • Pemanggilan sekali pakai: gunakan call/apply.
  • Perlu mengisi argumen terlebih dahulu? Gunakan bind atau pembungkus fungsi panah kecil.
  • Buat fungsi pembantu tetap kecil dan beri nama yang jelas.
Jebakan Ekstraksi Metode, Penerapan Parsial — ilustrasi 6

Kuis bind dibandingkan call/apply

Pemeriksaan singkat: Pertahankan this dan isi argumen terlebih dahulu.

Jebakan Ekstraksi Metode, Penerapan Parsial — ilustrasi 7

Ringkasan

Ringkasan: Ekstraksi menghilangkan this. Gunakan call/apply untuk pemanggilan sekali pakai, dan bind untuk menetapkan this serta menggunakannya kembali. Untuk penerapan parsial, gunakan bind atau fungsi panah kecil untuk mengisi nilai terlebih dahulu.

Jebakan Ekstraksi Metode, Penerapan Parsial — ilustrasi 8

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jebakan Ekstraksi Metode, Penerapan Parsial” gratis?

Ya — teks lengkap “Jebakan Ekstraksi Metode, Penerapan Parsial” 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 “Jebakan Ekstraksi Metode, Penerapan Parsial”?

Perbaiki ekstraksi metode dengan call/apply/bind dan pelajari pola penerapan parsial kecil menggunakan bind serta arrow pembungkus 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 2 dari 3.

Berapa lama pelajaran “Jebakan Ekstraksi Metode, Penerapan Parsial” 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. this Leksikal vs Dinamis, Meninjau Kembali Arrow
  2. Jebakan Ekstraksi Metode, Penerapan Parsial
  3. Alternatif Fungsional — Meneruskan Konteks, Closure, Pembantu Kecil
← Kembali ke JavaScript Academy