ජාවාස්ක්රිප්ට් ලියන එකට වඩා එය පසුබැසීමේදී කෙලින්ම කුමක් සිදු වෙන්නේ කියලා දැන ගැනීම ඔබේ කුසලතාව වැඩි කරයි. මේ ලිපියෙන් ඔබට වැදගත් මූලික අදහස් – වරිය, let, const, hoisting, lexical scope, closures, this binding, DRY සහ KISS – සරල උදාහරණ සමඟ පැහැදිලි කරමු.
වෙනස් වරිය ප්රකාර
ජාවාස්ක්රිප්ට් තුළ var, let සහ const යන තුන් වර්ගයේ වරිය ප්රකාශන තිබේ. var පරණ ආකාරයකි, එය function‑scoped වන අතර එකම නාමයෙන් නැවත ප්රකාශ කළ හැකිය. එම නිසා අනපේක්ෂිතව අගයන් මාරු වීමට ඉඩ ඇත.
let ES6 සමඟ පැමිණි නව වරියයි. එය block‑scoped වන අතර නැවත ප්රකාශ කළ නොහැක, නමුත් අගය වෙනස් කළ හැකිය. මෙය කේතය තේරුම් ගත හැකි බවට උපකාරී වේ.
const අගය කිසිවිටෙකවත් වෙනස් නොකළ යුතු අවස්ථා සඳහා යොදා ගනී. එයත් block‑scoped වන අතර නැවත ප්රකාශ කළ නොහැක, අගයත් වෙනස් කළ නොහැක.
Hoisting (ඉහළට තල්ලු කිරීම)
ජාවාස්ක්රිප්ට් කේතය ක්රියාත්මක කිරීමට පෙර, එහි ප්රකාශන මතකයට පූර්ව-තැන්පත් කරයි. එම නිසා var වරිය ප්රකාශනය පසුදීමත් console.log තුළ undefined ලෙස පෙනේ. let සහ const ද hoist වුවත් Temporal Dead Zone (TDZ) තුළ රැඳී, ආරම්භක කිරීම නොකළ තෙක් ප්රවේශ වීමට නොහැක.
Lexical Scope (ලෙක්සිකල් පරාසය)
ඇතුළත් ක්රියාකාරකමක් එහි පිහිටීම අනුව බාහිර ක්රියාකාරකමේ වරිය වෙත ප්රවේශ විය හැක. මෙයින් inner function එකක් outer function එකේ let message = "Hello" වරිය පරිභෝජනය කළ හැක.
Closures (කලෝසර්)
inner function එක outer function එකේ වරිය මත පදනම්ව නිර්මාණය වන විට, එය outer function එකේ execution context එක අමතක නොකරයි. එම නිසා function එක ඉවත් කරාමත් ඒ වරිය භාවිතා කරගත හැක. මෙය asynchronous කාර්යයන් හෝ data encapsulation සඳහා ඉතා ප්රයෝජනවත්.
this Binding (this යොමුකිරීම)
function එකක් කෙසේ කෝල් කරනවාද යන්න අනුව this වරියේ අගය වෙනස් වේ. Arrow function එකේ this lexical scope එකේ අගය අනුගමනය කරයි, ඒත් සාමාන්ය function එකේ this කෝල් කරන object එකට සම්බන්ධ වේ.
කේත ගුණාත්මකතා සංකල්ප
DRY (Don’t Repeat Yourself) කියන්නේ එකම ලොජික් එක නැවත නැවත ලියන්න එපා කියන නීතිය. KISS (Keep It Simple, Stupid) කියන්නේ කේතය සරලව, අවශ්ය නොවන සංකීර්ණතා වලින් තොරව තබන්න.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ ඩෙවලපර්ලාට JavaScript මූලික කරුණු අවබෝධ කර ගැනීම, ගෝලීය තාක්ෂණ සමාජයේ තරඟකාරීත්වය ලබා දේ. පාසල් හා විශ්වවිද්යාල තත්ත්වයන්හි JavaScript පාඨමාලා ඇතුළත් කිරීමෙන්, ආරම්භකයන්ට අඩු වැරදි වලින් වැඩි නිෂ්පාදනශීලී කේත ලිවීමේ හැකියාව ලැබේ. ව්යාපාරිකව, සමාජ මාධ්ය, e‑commerce සහ fintech යන ක්ෂේත්රවල JavaScript‑based web apps ඉක්මනින් නිර්මාණය කරගත හැකි බැවින්, පාරිභෝගික අත්දැකීම් වැඩි දියුණු කරයි.
ඉදිරියේදී, JavaScript නවතම සවිස්තරයන් (ES2023, async/await, modules) අධ්යයනය කිරීම, ශ්රී ලංකාවේ තාක්ෂණික පදනම ශක්තිමත් කර, ආර්ථික වර්ධනයට නව අවස්ථා සලසයි.
ඔබත් JavaScript මූලික කරුණු පළපුරුදු කරගෙන, ඔබේ කේතය පිරිසිදු, වේගවත්, සහ අනාගතයට සූදානම් කරගන්න.