Closure adalah fungsi yang mampu 'mengingat' dan mengakses variabel dari lingkungan lingkup leksikal induknya meskipun fungsi induk tersebut telah selesai dieksekusi.
JS Functions Advanced
Contoh Kode JS Functions Advanced:
<!DOCTYPE html>
<html>
<body style="font-family: sans-serif; padding: 20px;">
<h2>Mekanisme Closure</h2>
<button onclick="tambahHitungan()" style="padding:10px 15px; cursor:pointer;">Klik Tambah State</button>
<p>Nilai state di dalam closure: <strong id="outClosure">0</strong></p>
<script>
// Membuat fungsi pencacah dengan Closure
const buatPenghitung = () => {
let count = 0; // Variabel privat
return () => {
count++;
return count;
};
};
const counterPrivat = buatPenghitung();
function tambahHitungan() {
document.getElementById('outClosure').innerText = counterPrivat();
}
</script>
</body>
</html>
Uji kode JavaScript di atas dengan menekan tombol atau mengamati perubahan nilai pada elemen HTML.