الإعلان هو بيان دالة مسماة؛ التعبير يسند دالة إلى متغير. الفرق العملي هو الرفع (hoisting).
js
// Declaration — fully hoisted, callable before its line
();
() { ; }
();
expressed = () { ; };
الإعلان هو بيان دالة مسماة؛ التعبير يسند دالة إلى متغير. الفرق العملي هو الرفع (hoisting).
// Declaration — fully hoisted, callable before its line
();
() { ; }
();
expressed = () { ; };
إعلانات الدوال يتم رفعها مع جسم الدالة، لذلك توجد الدالة الكاملة قبل وصول التنفيذ إليها. التعبير عن الدالة هو مجرد قيمة مسندة إلى متغير — عند نقطة الاستدعاء المبكر، 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) { ... }
الإعلانات تُقرأ جيداً للدوال المسماة على المستوى الأعلى وتستفيد من الرفع (يمكنك تعريفها بعد استخدامها). التعبيرات ضرورية للدوال السهمية والدوال الاستدعاء والدوال الفورية وإسناد الدوال بشكل مشروط. الدوال السهمية هي دائماً تعبيرات.