Bismillah,
Halo teman-teman semua, kembali lagi dengan saya Syafiq. Di sini saya ingin menuliskan apa yang telah saya pelajari tentang EcmaScript 6. Saya ingin mendokumentasikan hasil belajar saya di platform ini
Pada artikel ini saya ingin membicarakan sesuatu lagi di ES6, yaitu sesuatu yang bernama Higher Order Function. Mari kita bahas satu per satu.
Menurut https://eloquentjavascript.net higher order function adalah function yang beroperasi pada function yang lain. Baik itu digunakan dalam argument maupun sebagai return value
Di dalam javascript sebuah function di definisikan sebagai sebuah object https://sitepoint.com
Dibawah adalah sebuah contoh sederhana serta penjelasan tentang higher order function di dalam sebuah codingan javascript.
//Function yang berisi sebuah function == Higher order function
function kerjakanTugas(mataKuliah, selesai){
console.log(`Mulai mengerjakan tugas ${mataKuliah}...`);
selesai();
}
// Function sebagai argument pada sebuah function == callback
function selesai(){
alert(`Selesai mengerjakan tugas !`);
}
//Dipanggil
kerjakanTugas(`Pemprograman Web`, selesai);
Kenapa kita perlu untuk membuat sebuah higher order function ?
Ada beberapa alasan kenapa kita harus membuat sebuah higher order function di codingan kita, diantaranya :
Abstraksi
Yaitu membuat sebuah code menjadi lebih sederhana
Karena ketika kita membuat sebuah function artinya kita telah menyembunyikan sebuah kerumitan
Semakin besar sebuah program, semakin tinggi kompleksitasnya, semakin membingungkan programmernya*
https://eloquentjavascript.net
//simple namun tidak dinamis
for(let i = 0; i < 10; i++){
console.log(i)
}
//Agak rumit namun dinamis
function repeatLog(n){
for(let i = 0; i < n; i++){
console.log(i)
}
}
repeatLog(10);
function repeat(n, action){
for(let i = 0; i < n; i++){
action(i)
}
}
repeat(10, console.log);
repeat(10, alert);
Ketika kita menggunakan paradigma Functional programming ini dengan benar itu akan membuat program kita lebih efektif, aman serta efisien
Mungkin catatan tentang higher order function cukup segitu.
Terima kasih buat yang sudah baca :)
Top comments (0)