Skip to main content

Javascript Function Closure

Dear Pembaca Setia,
Kali ini penulis ingin sharing tentang suatu prinsip di Javascript yang sedikit berbeda dengan pemrograman lain. Salah satu prinsip tersebut bernama Javascript Function Closure. Secara teknis,

A Closure adalah sebuah fungsi yang memiliki akses ke fungsi di atasnya (parent scope), bahkan ketika fungsi tersebut sudah ditutup. js_closure
 Sebagai contoh:

Saat kita membuat fungsi berikut,
function add() {
    var counter = 0;
    counter += 1;
}

add();
add();
add();// Nilai counter harusnya 3, namun hal tersebut tidak terjadi!


 Untuk itu kita membutuhkan Closure. Salah satu fitur di Javascript yaitu self-invoking functions. Hasilnya akan menjadi demikian

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();

add();
add();
add();
// Sekarang baru counter-nya memiliki nilai 3

 Penjelasan

Variable add diisi dengan nilai balikan self-invoking function
Self-invoking function ini hanya berjalan sekali. Fungsi ini akan membuat nilai counter menjadi nol (0), selanjutnya menjalankan perintah yang ada di dalam fungsi tersebut.
Dengan demikian add menjadi sebuah fungsi, dan yang paling mengesankan, dapat mengakses counter di cakupan fungsi di atasnya (parent scope).

Demikian dulu untuk hari ini. Semoga bermanfaat.

Sumber

Comments

Popular posts from this blog

Pengaturan TP-LINK TL-MR3020 sebagai WiFi Client

Dear Pembaca setia, Kali ini penulis ingin berbagi cerita, bagaimana sebuah devices (PC atau yang lain) yang tidak memiliki modul Wireless, dan hanya memiliki port LAN (RJ45), dapat terkoneksi ke jaringan dengan bantuan Wireless Router TP-Link TL-MR3020. Caranya adalah dengan

Install Ghost Blog di Raspberry Pi

Dear Pembaca Setia, Kali ini Penulis hendak berbagi pengalaman terkait instalasi Ghost Blog di Raspberry Pi. Penulis menggunakan Raspberry Pi 4b saat instalasi, namun Raspberry Pi 3b seharusnya sudah cukup. Tutorial kali ini menggunakan Docker untuk instalasi Ghost,