A declaration हे नामांकित फंक्शन स्टेटमेंट आहे; an expression फंक्शनला व्हेरिएबलला असाइन करते. व्यावहारिक फरक hoisting आहे.
js
();
() { ; }
();
expressed = () { ; };
A declaration हे नामांकित फंक्शन स्टेटमेंट आहे; an expression फंक्शनला व्हेरिएबलला असाइन करते. व्यावहारिक फरक hoisting आहे.
();
() { ; }
();
expressed = () { ; };
Function declarations त्यांच्या बॉडीसह होइस्ट केले जातात, त्यामुळे संपूर्ण फंक्शन एक्सीक्यूशन त्यापर्यंत पोहोचण्यापूर्वी अस्तित्वात असते. A function expression हा फक्त एक व्हेरिएबलला असाइन केलेला मूल्य आहे — अर्ली कॉल पॉइंटवर, 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) { ... }
Declarations टॉप-लेव्हल नामांकित फंक्शनसाठी व्यक्त वाचायचे आहेत आणि hoisting चा फायदा घेतात (तुम्ही त्यांच्या वापरानंतर त्यांची व्याख्या करू शकता). Expressions arrow functions, callbacks, IIFEs आणि सशर्त फंक्शन असाइनमेंटसाठी आवश्यक आहेत. Arrow functions नेहमी expressions असतात.