නමක් සහිත, නමුත් Function Expression වන JavaScript ශ්රිතය
දැන් අපි ශ්රිතයක් සෑදමු, එයට නමක් ඇත, නමුත් එය Expression එකක කොටස් වීම නිසා Function Expression එකක් වනු ඇත:
+function func() {
console.log('!');
}
සිත්ගන්නා කරුණක් නම්, func යන නම භාවිතයෙන්
අපගේ ශ්රිතයට පිවිසිය නොහැකි බවයි. මෙය
දෝෂයක් ඇති කරයි:
+function func() {
console.log('!');
}
func(); //!! දෝෂයක් දක්වයි
අපගේ ශ්රිතය ඇමතීමට හැකිවීම සඳහා, එය විචල්යයකට පවරා දිය යුතුය:
let test = function func() {
console.log('!');
};
test(); // '!' ප්රතිදානය කරයි
නැවත වරක්: ක්රියාකාරී ප්රකාශනයක් වන ශ්රිතයක් එහි නම භාවිතයෙන් ඇමතිය නොහැක. එවැනි ශ්රිතයක් ඇමතිය හැක්කේ එම ශ්රිතය ලියාපදිංචි කර ඇති විචල්යය භාවිතා කරමින් පමණි.
එසේ වුවද, ක්රියාකාරී ප්රකාශනයකට ශ්රිත නාමයක් තිබිය හැකිය, මෙය වාග් රීතිගතව නිවැරදි වේ. මෙය අවශ්ය වන්නේ මන්දැයි අපි පරීක්ෂා කරමු ඊළඟ පාඩම්වලදී.
සාරාංශයක් ලෙස: ශ්රිත Function Declaration හෝ Function Expression වන්නේ ඒවාට නමක් ඇති නිසා හෝ නැති නිසා නොව, ඒවා ප්රකාශනවල කොටස් වීම හෝ නොවීම නිසා ය.
ඔබ ඉහත දුටු පරිදි, නමක් නොමැති ශ්රිතයක් Function Declaration ලෙස ගත හැකිය, නමුත් නමක් සහිත ශ්රිතයක් Function Expression විය හැකිය.