JavaScript හි පුනරුච්චාරණ

දැන් අපි පුනරුච්චාරණය (closure) යන සංකල්පය අධ්‍යයනය කරමු. ඇත්ත වශයෙන්ම, ඔබ දැනටමත් මෙම සංකල්පයට හුරුපුරුදු ය, නිවැරදි තාක්ෂණික පද නාමය දැන ගැනීම පමණක් ඉතිරිව ඇත.

ඉතින්, පුනරුච්චාරණය යනු එයට ප්‍රවේශ විය හැකි සියලුම බාහිර විචල්‍යයන් සමඟ ඇති ශ්‍රිතයකි. හෝ, වෙනත් වචන වලින් කිවහොත්, පුනරුච්චාරණය යනු එහි වාග් පරිසරය සමඟ ඇති ශ්‍රිතයකි.

JavaScript හි, බොහෝ විට "ශ්‍රිතයක පුනරුච්චාරණය" යැයි කියන විට, ඒ ශ්‍රිතය ම යන්න අදහස් නොව එහි බාහිර විචල්‍යයන් යන්නයි. යම් ශ්‍රිතයක් එහි වාග් පරිසරයෙන් විචල්‍යයක් ලබා ගන්නේ නම්, "විචල්‍යය පුනරුච්චාරණයෙන් ගනී" යැයි කියනු ලැබේ.

පෙර පාඩමේදී අපි සෑදූ කේතය මතක ගනිමු:

javascriptfunction test() {
  let num = 1;
  
  return function() {
    console.log(num);
  }
}

let func = test();
func(); // 1 ප්‍රතිදානය කරයි

මෙම අවස්ථාවේදී, func ශ්‍රිතය num විචල්‍යයේ අගය පුනරුච්චාරණයෙන් ලබා ගනී යැයි කිව හැකිය. එසේම, func ශ්‍රිතය num විචල්‍යයේ අගය පුනරුච්චාරණයේ ගබඩා කර ඇතැයිද කිව හැකිය.