JS - Function Expressions تعبيرات الدوال

JavaScript - تعبيرات الدوال (Function Expressions)

🔸 تعبير الدالة (Function Expression) هو دالة يتم تعريفها وتخزينها داخل متغير. وهي تختلف عن الدوال التقليدية في أنها لا تكون قابلة للاستدعاء قبل تعريفها (لا يتم رفعها مثل الدوال التقليدية).

---

🔹 الصيغة العامة لتعبير دالة


const greet = function(name) {
  return "مرحبًا " + name;
};

console.log(greet("Mahmoud")); // مرحبًا Mahmoud

📌 لا تحتوي على اسم دالة، وإنما يتم تعيينها مباشرة إلى متغير.

---

🔹 مقارنة بين Function Declaration و Function Expression


// إعلان دالة تقليدية
hello("Noor"); // يعمل ✅

function hello(name) {
  console.log("Hi " + name);
}

// تعبير دالة
greet("Noor"); // خطأ ❌

const greet = function(name) {
  console.log("Hi " + name);
};

📌 الدوال المعرفة باستخدام function declaration يتم رفعها (hoisting)، بينما تعبيرات الدوال لا يتم رفعها.

---

🔹 تعبير دالة مع اسم (اختياري)


const factorial = function fact(n) {
  if (n <= 1) return 1;
  return n * fact(n - 1);
};

console.log(factorial(5)); // 120

📌 يمكن إعطاء اسم للدالة داخل التعبير لاستخدامه داخليًا (مثل الاستدعاء الذاتي).

---

⚠️ ملاحظات مهمة

  • تُستخدم تعبيرات الدوال كثيرًا مع callbacks والمصفوفات والدوال المجهولة.
  • يمكنك استخدام الدالة مباشرة بعد تعريفها فقط.
  • تعبيرات الدوال مناسبة لتعريف وظائف سريعة داخل متغيرات.

تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework