Sobes.tech
Junior — Middle

JavaScript-də bağlama nə olduğunu və necə işlədiyini izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

JavaScript-də bağlama, yaradıldığı mühitə «xatirə» edən funksiyadır, hətta həmin mühit artıq aktiv olmasa belə. Sadə desək, başqa bir funksiyanın içindəki funksiya, xarici funksiyanın tamamlandıqdan sonra belə, onun xarici funksiyasının dəyişənlərinə daxil ola bilər.

Bu, funksiyanın yaradılması zamanı, onun elan olunduğu leksik mühitə istinadın saxlanması ilə işləyir.

Nümunə:

function xarici() {
  let sayğac = 0;
  return function daxili() {
    sayğac++;
    console.log(sayğac);
  };
}

const sayğac = xarici();
sayğac(); // 1
sayğac(); // 2

Burada, daxili xarici-dəki sayğac dəyişənini bağlayır və onun vəziyyətini çağırışlar arasında saxlayır.