ශ්රිත ප්රකාශයන් අතර වෙනස
ශ්රිතය ප්රකාශ කිරීමේ ක්රම දෙකම සමාන වේ, නමුත් එක් වැදගත් වෙනසක් ඇත: Function Declaration ලෙස ප්රකාශ කරන ලද ශ්රිත, ඒවා ප්රකාශ කිරීමට පෙර ඒවාට පිවිසීමට උත්සාහ කළ ද, ලබා ගත හැකිය.
උදාහරණය බලන්න:
// ශ්රිතය ප්රකාශ කිරීමට පෙර එයට පිවිසෙමු:
func(); //'!' ප්රතිදානය කරයි
function func() {
console.log('!');
}
ශ්රිත ප්රකාශන නිර්මාණය වන්නේ කේතය ක්රියාත්මක වන මොහොතේ දී වන අතර ඉහළින් ලබා ගත නොහැක. එබැවින් මෙවැනි කේතය දෝෂයක් ඇති කරයි:
func(); //දෝෂය, එවැනි ශ්රිතයක් තවම නැත!
let func = function() {
console.log('!');
};
Function Declaration ලෙස ශ්රිතයක් සාදන්න. එය එහි ප්රකාශන ස්ථානයට ඉහළින් ලබා ගත හැකි බව පරීක්ෂා කරන්න.
Function Expression ලෙස ශ්රිතයක් සාදන්න. එය එහි ප්රකාශන ස්ථානයට ඉහළින් ලබා ගත නොහැකි බව පරීක්ෂා කරන්න.