تعبير الدالة
جزء من قسم Fundamentals في رحلة JavaScript على Coddy — الدرس 49 من 77.
في JavaScript، يُعد تعبير الدالة (function expression) طريقة لتعريف دالة كجزء من تعبير. وعلى عكس تصريحات الدالة (function declarations)، لا يتم رفع (hoisted) تعبيرات الدالة، مما يعني أنه لا يمكن استدعاؤها قبل تعريفها في الكود.
إليك الصيغة الأساسية لتعبير الدالة (function expression):
let functionName = function(parameters) {
// الكود المراد تنفيذه
// ...
return value; // جملة return اختيارية
};تتبع كلمة function الأساسية باسم اختياري للدالة. إذا تم توفير اسم، فإنه يصبح تعبير دالة مسمى (named function expression)؛ وإلا، فإنه يكون تعبير دالة مجهول (anonymous function expression). يتم تحديد المعلمات (parameters) بين قوسين، ويتم تضمين جسم الدالة (function body) داخل أقواس معقوفة.
إليك مثال على تعبير دالة مسمى:
let add = function sum(a, b) {
return a + b;
};
console.log(add(3, 5)); // المخرج: 8في هذا المثال، add هو المتغير الذي يحمل الدالة، و sum هو الاسم الاختياري للدالة. على الرغم من أن للدالة اسماً، لا يمكنك استدعاء sum مباشرة؛ يجب عليك استخدام المتغير add.
إليك مثال على تعبير دالة مجهولة (anonymous function expression):
let multiply = function(a, b) {
return a * b;
};
console.log(multiply(4, 2)); // المخرج: 8في هذه الحالة، ليس للدالة اسم، ويتم تعيينها مباشرة للمتغير multiply.
تُستخدم تعبيرات الدوال (Function expressions) غالباً عندما تريد تمرير دالة كمعامل لدالة أخرى، أو عندما تريد إنشاء دالة بشكل فوري.
التحدي
سهلأنشئ تعبير دالة باسم calculateArea يأخذ وسيطين، width و height، ويعيد مساحة المستطيل. يجب تعيين الدالة لمتغير باسم calculateArea.
على سبيل المثال:
console.log(calculateArea(5, 10)); // Output: 50
console.log(calculateArea(3, 7)); // Output: 21ورقة مرجعية
تعبيرات الدوال (Function expressions) تُعرف الدوال كجزء من تعبير ولا يتم رفعها (لا يمكن استدعاؤها قبل تعريفها).
الصيغة الأساسية:
let functionName = function(parameters) {
// الكود المراد تنفيذه
return value; // اختياري
};تعبير دالة مسمى (Named function expression):
let add = function sum(a, b) {
return a + b;
};
console.log(add(3, 5)); // المخرجات: 8تعبير دالة مجهول (Anonymous function expression):
let multiply = function(a, b) {
return a * b;
};
console.log(multiply(4, 2)); // المخرجات: 8تعبيرات الدوال مفيدة لتمرير الدوال كوسطاء أو لإنشاء الدوال ديناميكيًا.
جرّب بنفسك
// اكتب الكود الخاص بك أدناه
// لا تغير الأسطر أدناه
console.log(calculateArea(5, 10));
console.log(calculateArea(3, 7));يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
2المتغيرات
الأرقامString (النصوص)Boolean (القيم المنطقية)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيراتالثوابت8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - Factorialحلقة Do Whileالحلقات المتداخلة3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةالمساواة الصارمة مقابل العاديةمراجعة - العمليات الحسابية البسيطة6أساسيات الإدخال والإخراج (IO)
الإخراجالإخراج باستخدام المتغيراتتحويل أنواع البيانات - الجزء الأولتحويل أنواع البيانات - الجزء الثانيمراجعة - حتى 120مراجعة - صح أم خطأ