Fungsi Callback dalam JavaScript
Fungsi dapat diteruskan sebagai parameter ke fungsi lain. Fungsi parameter seperti ini disebut callback (callback). Mari kita lihat cara kerjanya dengan sebuah contoh.
Misalkan kita ingin membuat fungsi yang parameternya pertama akan menerima array, dan yang kedua - sebuah callback, yang akan diterapkan ke setiap elemen array:
function each(arr, callback) {
// kode di sini
}
Mari kita tulis implementasi fungsi kita:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // memanggil fungsi callback
}
return result;
}
Fungsi each kita bersifat universal.
Ini berarti kita dapat meneruskan berbagai
callback ke dalamnya, melakukan operasi yang berbeda
pada array. Sementara itu, kode fungsi kita akan tetap
tidak berubah - hanya
callback yang diteruskan yang akan berubah.
Sebagai contoh, mari kita gunakan fungsi kita untuk memangkatkan dua setiap elemen dari suatu array. Untuk melakukan ini, kita akan meneruskan callback yang sesuai sebagai parameter:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
Sekarang mari kita pangkatkan tiga elemen array. Untuk melakukan ini, kita akan meneruskan callback yang berbeda sebagai parameter, yang melakukan operasi ini:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Diberikan array berisi angka. Dengan menggunakan fungsi
each yang kita buat, gandakan setiap
elemennya.
Diberikan array berisi string. Dengan menggunakan fungsi
each yang kita buat, balikkan karakter
setiap string dalam urutan terbalik.
Diberikan array berisi string. Dengan menggunakan fungsi
each yang kita buat, jadikan huruf kapital
karakter pertama setiap string.