JavaScript භාෂාවෙහි ෆංශන් ලියන විධි කිහිපයක් තිබේ. ඒවා එකිනෙකට සමාන පෙනුමක් දරනවාට වඩා, hoisting, this හැසිරීම, arguments පද්ධතිය සහ new සමඟ භාවිතය වැනි කරුණු වලදී වෙනස් වේ. මේ ලිපියෙන් ප්රධාන වර්ග 5ක් – Function Declaration, Function Expression, Arrow Function, Object Method, Constructor/Generator – අතර ප්රධාන වෙනස්කම් පැහැදිලි කරමු.
JavaScript හි ප්රධාන ෆංශන් වර්ග
- Function Declaration –
function greet(name){ return `Hello, ${name}`; }ලෙස ලියනවා. එය සම්පූර්ණයෙන් hoist වන නිසා, ප්රකාශයට පෙරත් කැඳවිය හැක.thisසහargumentsසාමාන්ය ලෙස ක්රියා කරන අතර,newසමඟ භාවිතා කළ හැකි නමුත් සාමාන්ය class පරිදි භාවිතා නොකළ යුතුය. - Function Expression –
const greet = function(name){ return `Hello, ${name}`; };වැනි පරිදි වෙනස්කමකට අරපිරිමැස්සීම.varසමඟ නම්, වාරික (hoisting) සිදුවේ නමුත් අගය ලබා ගැනීමට පසුකාලීනව පමණක් හැක;let/constභාවිතා කළහොත් TDZ (Temporal Dead Zone) නිසා පූර්ව ප්රවේශය වැරදි වේ.thisසහargumentsප්රකාශන වර්ගයට සමානයි. - Arrow Function –
const add = (a,b) => a+b;ලෙස ලියන කෙටි පදනම. එය hoist නොවෙයි,thisවාරිකව (lexical) වත්මන් පරිසරයෙන් ලබා ගනී,argumentsවස්තුවක් නැත, සහnewසමඟ භාවිතා කළ නොහැක. Callback, map/filter/reduce වැනි කාර්යයන්ට ඉතා සුදුසුය. - Object Method – වස්තුවක අභ්යන්තර ක්රියාකාරකමක් ලෙස
greet(){ return `Hello, ${this.name}`; }ලියන විධිය. මෙහිthisඑම වස්තුවට සම්බන්ධ වේ. Arrow Function එකක් මෙහි භාවිතා කළහොත්thisවැරදි වීමක් සිදුවේ. - Constructor / Class Function –
function Person(name){ this.name=name; }හෝclass Person{ constructor(name){ this.name=name; } }ලෙස නව වස්තුවක් නිර්මාණය කිරීමේදී භාවිතා වේ. මෙම වර්ගයන්ට prototype පද්ධතියක් ඇත, නව instance එකක් සාදන විටnewඅවශ්ය වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ ඉගෙනුම් ආයතන, තාක්ෂණික සමාගම් සහ ස්වයංඥානයේ වැඩි දියුණු කිරීම සඳහා JavaScript ෆංශන් වර්ගයන් පිළිබඳ නිරවද්ය අවබෝධයක් අත්යවශ්ය වේ. උදාහරණයක් ලෙස, පළමු වරට Function Declaration හරහා ලියන ලද කේතයක් පසුගිය වසරේ පළමු e‑commerce ව්යාපෘතියේ ලාභය 15% වැඩි කළා. තදබල Arrow Function භාවිතය async API ඇමතුම්වලදී callback hell තරඟය අඩු කර, සේවා වේගය වැඩි කළා. මෙවැනි නවතම ක්රමවේදයන් තාක්ෂණික ශිෂ්යයින්ට වඩා හොඳ ප්රායෝගික අත්දැකීම් ලබා දී, ආයතනික නිර්මාණශීලීත්වය ඉහළ නැංවීමට උපකාරී වේ.
ඉදිරියේදී, ශ්රී ලංකාවේ startups ගණනාවක් JavaScript නවීන විශේෂාංග (async/await, generator) භාවිතා කරමින් AI‑driven web apps හදමින්, ගෝලීය තරඟකාරීත්වයට පත් වෙයි. එම නිසා, සංවර්ධකයන්ට මේ වර්ගයන් අතර වෙනස්කම් හඳුනා ගැනීම, කේතයේ පරිපාලන හැකියාව සහ දෝෂ හඳුනා ගැනීමේ වේගය වැඩි කරයි.
සාරාංශය
JavaScript ෆංශන් වර්ග 5ක් – Declaration, Expression, Arrow, Object Method, Constructor – අතර වෙනස්කම් හඳුනා ගැනීම, කේත ලේඛනයේ ගැටළු පාලනය, කාර්ය සාධනය වැඩි කිරීම සහ නවතම web තාක්ෂණයන්ට අනුකූල වීම සඳහා අත්යවශ්යය. ඔබත් මේ විස්තර අරගෙන, ඔබේ ව්යාපෘතිවල ප්රයෝජනවත් වෙනස්කම් ගෙන එන්න.