DEV Community

Syafiq Rizky Fauzi
Syafiq Rizky Fauzi

Posted on

Apa itu Higher Order Function ?

Image description

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);

Enter fullscreen mode Exit fullscreen mode

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);

Enter fullscreen mode Exit fullscreen mode


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)