← JavaScript57 / 69
Higher-order function
Higher-order function adalah fungsi yang menerima fungsi dan/atau mengembalikan fungsi. Kamu sudah memakainya (map, filter), sekarang kamu membuatnya. Pola ini dipakai untuk membuat fungsi terspesialisasi dari satu template umum. Pola ini juga yang dipakai middleware dan dekorator: satu fungsi membungkus fungsi lain untuk menambah perilaku tanpa mengubah isinya.
👀 Contoh dulu
function buatSapaan(sapaan) {
return (nama) => `${sapaan}, ${nama}!`;
}
const formal = buatSapaan('Selamat pagi');
const santai = buatSapaan('Woi');
console.log(formal('Bu Ani'));
console.log(santai('Bimo'));Hasilnya: Selamat pagi, Bu Ani! Woi, Bimo!
💡 Satu template fungsi menghasilkan banyak fungsi terspesialisasi. Perhatikan return-nya berupa FUNGSI, bukan nilai biasa.
📝 Sekarang giliranmu
Buat pengali(faktor) yang mengembalikan fungsi pengali. Buat const kaliTiga = pengali(3), lalu tampilkan kaliTiga(5).
Preview