Callback: fungsi sebagai argumen
Di JavaScript, fungsi adalah nilai — bisa disimpan di variabel dan dikirim sebagai argumen. Fungsi yang dikirim seperti itu disebut callback, dan ini fondasi dari map, addEventListener, dan semua kode asynchronous yang akan kamu tulis nanti. Perhatikan bedanya mengirim fn dengan fn(): yang pertama menyerahkan fungsinya, yang kedua menjalankan lebih dulu lalu menyerahkan hasilnya — sumber bug yang sangat sering terjadi.
👀 Contoh dulu
function olah(teks, aksi) {
return aksi(teks); // fungsi yang dikirim, dipanggil di sini
}
console.log(olah('halo', (t) => t.toUpperCase()));
console.log(olah('halo', (t) => t.length));Hasilnya: HALO 4
💡 Fungsi yang sama menghasilkan perilaku berbeda tergantung callback yang dikirim — dasar dari map, filter, dan addEventListener.
📝 Sekarang giliranmu
Buat fungsi prosesAngka(angka, callback) yang mengembalikan callback(angka). Lalu panggil dengan callback yang mengalikan dua, dan tampilkan hasilnya untuk angka 7.