تعریف ایک نام والی فنکشن کی بیان ہے؛ تاثیر ایک فنکشن کو ایک متغیر میں تفویض کرتی ہے۔ عملی فرق hoisting ہے۔
js
();
() { ; }
();
expressed = () { ; };
تعریف ایک نام والی فنکشن کی بیان ہے؛ تاثیر ایک فنکشن کو ایک متغیر میں تفویض کرتی ہے۔ عملی فرق hoisting ہے۔
();
() { ; }
();
expressed = () { ; };
فنکشن کی تعریفیں ان کے جسم کے ساتھ hoisted ہوتی ہیں، اس لیے مکمل فنکشن بیان سے پہلے موجود ہے۔ فنکشن کی تاثیر محض ایک متغیر کو تفویض کی گئی قیمت ہے — جلدی کال کے نقطے پر، expressed ابھی بھی undefined ہے (var کے ساتھ) یا TDZ میں ہے (let/const کے ساتھ)۔
// expression — for callbacks, conditional definitions, arrow functions
const handler = () => doThing();
const fn = condition ? a : b;
arr.map(x => x * 2);
// declaration — clear, hoisted top-level functions
function calculateTotal(items) { ... }
تعریفیں اعلیٰ درجے کے نام والے فنکشنز کے لیے اچھی پڑھی جاتی ہیں اور hoisting سے فائدہ اٹھاتی ہیں (آپ انہیں ان کے استعمال کے بعد متعین کر سکتے ہیں)۔ تاثیریں arrow functions، callbacks، IIFEs، اور مشروط طور پر فنکشن تفویض کرنے کے لیے ضروری ہیں۔ Arrow functions ہمیشہ تاثیریں ہوتی ہیں۔