What is hoisting in JavaScript?
variable hoisting කියන්නේ JavaScript වල තියෙන ටිකක් අමුතු concept එකක්.සරලව JavaScript variable hoisting කියන්නේ variable එකක් හරි function එකක් හරි එය අයිති scope එකේ උඩටම move වෙන එක.අද මම කථා කරන්න යන්නේ function hoisting ගැන.variable hoisting ගැන ඊලග article එකින් කතා කරන්නම්.example එකක් විද්යට් මේ function එක බලන්නකෝ.
1.Function Hoisting
මෙතන පොඩි අමුත්තක් පේනවා නේද?නැ නැ ඒ JavaScript වල හැටි 😁😁😁.මෙතැනදී වෙන්නනේ Hoisting.මෙතනදී printHello() ඉන්නේ global scope නේ එහෙනම් එයා global scope එකේ උඩටම ගමන් කරනවා(function is hoisted to the top of the global scope).මෙන්න මේ හේතුව හින්ද තමා function එක declaration කරන්න කලින් උනත් access කරන්න පුලවන් වෙන්නේ (function is hoisted to the top of the global scope)
අපි තව උදාහරණයක් ගම්මු.
බලන්න මේකේ test1 function එක global scope එකේ හින්දා එක hoisting වෙනවා කලින් example එකේ වගේම GLOBAL SCOPE එකේ උඩටම move වෙනවා.ඒ හින්ද function declaration එකට් කලින් උනත් test1() invoke කරම output එක display වෙනවා.
හැබෑයි මෙතන test2 function එක invoke කරාම reference error එකක් එනවා (test2 is not defined ).අපි බලමු ඇයි එහම වෙන්නේ කියලා.මෙතන test2 function එක කියන්නේ test1 function එක ඇතුලේ ඉන්න function එකක්.හරියටම් කිවොත් test2 function එකේ scope එක වෙන්නේ test1 function එකේ body එක ඇතුල .test2 function එක hoisting වෙන්නේ එයා ඉන්න scope එකේ උඩටම.test 2 function එක test1 function එක ඇතුලේ තියෙන නිසා test2 එකට global scope එකට hoist වන්නේ නැහැ.එක හින්ද global scope එකේ ඉදන් invoke කරාට test2 access කරන්න බැහැ.
Only declared functions used before initialization
function hoisting උනාට උඩ example එකේ තියන්වා වගේ declared functions විතරයි initialize කරන්න කලින් use කරන්න පුලවන්.
උඩ තියෙන function expressions (sum1 and sum2) දෙක initialize කරන්න කලින් use කරන්න බැහැ. මිට අමතරව arrow functionsත් initialize කරන්න කලින් use කරන්න බැහැ. Uncaught Type Error and Reference Error හා variable hoisting ගැන ඊලග article එකින් කතා කරන්නම්.
if there is something that you cannot agree with or something that needs to be added, please let me know through a response (comment).