Alternatif Fungsional — Meneruskan Konteks, Closure, Pembantu Kecil
Hindari this dengan meneruskan data secara eksplisit, menggunakan closure dan pembantu kecil; tulis fungsi yang ringkas dan mudah dibaca
Alternatif Fungsional — Meneruskan Konteks, Closure, Pembantu Kecil 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.
Mengapa alternatif fungsional?
Tujuan: Hindari this saat menambah kebingungan.
- Fungsi murni: teruskan data sebagai parameter
- Penutupan: tangkap sekali, gunakan kembali
- Fungsi pembuat kecil
- Fungsi pembantu kecil dan mudah dibaca bagi pemula

Fungsi murni sebagai pengganti this
Fungsi murni membaca masukan dan mengembalikan nilai. Tidak ada this tersembunyi sehingga lebih mudah diuji.
// Pure function: takes data as parameters
function fullName(user) {
// no this; explicit inputs
return user.first + " " + user.last;
}
const u = { first: "Ayla", last: "Kaya" };
console.log("fullName:", fullName(u));

Fungsi pembantu berbasis penutupan
Penutupan menyimpan konteks tanpa this. Anda menangkap nilai sekali, lalu memanggil fungsi pembantu berkali-kali.
// Closure: capture config and return a tiny helper
function makeGreeter(prefix) {
// returns a function that remembers prefix
return function (name) {
return prefix + " " + name;
};
}
const hi = makeGreeter("Hello");
console.log(hi("Ayla")); // "Hello Ayla"
console.log(hi("Mila")); // "Hello Mila"

Fungsi pembuat tanpa this
Fungsi pembuat kecil menyembunyikan keadaan di dalam penutupan; this tidak diperlukan. Metodenya kecil dan terfokus.
// Factory pattern: build an object with simple, pure-like methods
function makeCounter(start) {
let value = Number.isFinite(start) ? start : 0;
return {
get: function () { return value; }, // read
inc: function () { value = value + 1; } // update (encapsulated)
};
}
const c = makeCounter(2);
c.inc();
console.log("counter:", c.get()); // 3

Gabungkan fungsi pembantu kecil
Fungsi pembantu kecil yang berbasis parameter dapat digabungkan dengan rapi. Tidak diperlukan langkah pengikatan.
// Compose small helpers: map + filter as plain functions
function isAdult(user) { return user.age >= 18; }
function toLabel(user) { return user.name + " (" + user.age + ")"; }
const people = [
{ name: "Ayla", age: 18 },
{ name: "Mert", age: 16 },
{ name: "Lina", age: 21 }
];
const labels = people.filter(isAdult).map(toLabel);
console.log("labels:", labels);

Memilih gaya
Pilih gaya fungsional jika:
- Fungsi dapat dibuat murni (mudah diuji)
- Anda hanya memerlukan beberapa nilai (tangkap melalui penutupan)
- Kesederhanaan penting bagi pemula
- Anda ingin sepenuhnya menghindari jebakan this

Kuis alternatif fungsional
Pemeriksaan singkat: Menghindari masalah pada this.

Ringkasan
Ringkasan: Utamakan fungsi murni dengan parameter eksplisit; gunakan penutupan atau fungsi pembuat kecil untuk keadaan sederhana. Fungsi pembantu tanpa this bersifat sederhana, mudah diuji, dan ramah bagi pemula.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Alternatif Fungsional — Meneruskan Konteks, Closure, Pembantu Kecil” gratis?
Ya — teks lengkap “Alternatif Fungsional — Meneruskan Konteks, Closure, Pembantu Kecil” 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 “Alternatif Fungsional — Meneruskan Konteks, Closure, Pembantu Kecil”?
Hindari this dengan meneruskan data secara eksplisit, menggunakan closure dan pembantu kecil; tulis fungsi yang ringkas dan mudah dibaca 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 “Alternatif Fungsional — Meneruskan Konteks, Closure, Pembantu Kecil” 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
- this Leksikal vs Dinamis, Meninjau Kembali Arrow
- Jebakan Ekstraksi Metode, Penerapan Parsial
- Alternatif Fungsional — Meneruskan Konteks, Closure, Pembantu Kecil