الدوال هي كتل من الكود في JavaScript تستخدم لتنفيذ مهمة معينة عند استدعائها. الدوال تتيح لك تنظيم الكود وتقليل التكرار من خلال تجميع الأكواد التي تنفذ نفس المهمة في مكان واحد. في هذا الدرس، سنتناول كيفية تعريف الدوال واستخدامها مع المعاملات والقيم المرجعة، بالإضافة إلى دوال السهم (Arrow Functions) وبعض المفاهيم المتقدمة مثل الدوال ذات القيم الافتراضية للمعاملات.
1. تعريف الدوال باستخدام function
يمكنك تعريف الدوال في JavaScript باستخدام الكلمة المفتاحية function
، ثم تحديد اسم الدالة والمعاملات المطلوبة (إن وجدت) داخل قوسين.
1.1 تركيب الدالة
function functionName(parameters) {
// الكود الذي سيتم تنفيذه عند استدعاء الدالة
}
functionName
: هو اسم الدالة.parameters
: هي المعاملات التي تأخذها الدالة عند استدعائها (اختياري).function body
: هو الكود الذي سيتم تنفيذه عند استدعاء الدالة.
1.2 مثال على تعريف دالة
function greet(name) {
console.log("Hello, " + name + "!");
}
greet("Ali"); // النتيجة: "Hello, Ali!"
التفسير:
- تم تعريف دالة باسم
greet
تأخذ معامل واحد وهوname
. - عند استدعاء الدالة مع
"Ali"
, سيتم طباعة"Hello, Ali!"
.
2. الدوال مع المعاملات والقيم المرجعة
الدالة يمكن أن تقبل معلمات (Parameters) يمكن استخدامها داخل جسم الدالة. كما يمكن أن تُرجع قيمة باستخدام الكلمة المفتاحية return
. القيم المرجعة هي ما يُحصل عليه عند استدعاء الدالة.
2.1 الدوال مع المعاملات
function add(a, b) {
return a + b;
}
let result = add(3, 5); // النتيجة: 8
console.log(result);
التفسير:
- الدالة
add
تأخذ معاملين:a
وb
. - تقوم الدالة بإرجاع نتيجة جمع
a
وb
باستخدام الكلمة المفتاحيةreturn
.
2.2 الدوال مع القيم المرجعة
الدوال يمكن أن تُرجع قيمًا من أنواع مختلفة: مثل أرقام، سلاسل نصية، كائنات، مصفوفات، إلخ.
function square(number) {
return number * number;
}
let result = square(4); // النتيجة: 16
console.log(result);
التفسير:
- الدالة
square
تأخذ رقمًا كمعامل وتُرجع مربعه باستخدامreturn
.
3. Arrow Functions (دوال السهم)
دوال السهم هي نوع مختصر من الدوال في JavaScript تم تقديمه في ES6. تستخدم هذه الدوال علامة السهم (=>
) بدلاً من الكلمة المفتاحية function
.
3.1 تركيب دالة السهم
const functionName = (parameters) => {
// الكود الذي سيتم تنفيذه
}
3.2 مثال على دالة السهم
const greet = (name) => {
console.log("Hello, " + name + "!");
}
greet("Ali"); // النتيجة: "Hello, Ali!"
التفسير:
- في هذا المثال، تم استخدام دالة السهم لتبسيط تعريف الدالة
greet
التي تأخذ اسمًا وتطبع رسالة ترحيب.
3.3 دوال السهم بدون معاملات
إذا كانت الدالة لا تأخذ أي معاملات، يمكن أن تُكتب كما يلي:
const sayHello = () => {
console.log("Hello!");
}
sayHello(); // النتيجة: "Hello!"
3.4 دوال السهم في حالة وجود معامل واحد
إذا كانت الدالة تأخذ معاملًا واحدًا فقط، يمكن كتابة المعامل بدون أقواس:
const square = number => number * number;
console.log(square(5)); // النتيجة: 25
التفسير:
- تم اختصار دالة
square
إلى سطر واحد باستخدام دالة السهم.
4. دوال متقدمة – القيم الافتراضية للمعاملات
في JavaScript، يمكن إعطاء المعاملات قيمًا افتراضية في حالة عدم تمرير قيم عند استدعاء الدالة. يتم ذلك من خلال استخدام =
بعد اسم المعامل وتحديد القيمة الافتراضية.
4.1 الدوال ذات القيم الافتراضية للمعاملات
function greet(name = "Guest") {
console.log("Hello, " + name + "!");
}
greet(); // النتيجة: "Hello, Guest!"
greet("Ali"); // النتيجة: "Hello, Ali!"
التفسير:
- في هذا المثال، تم تحديد القيمة الافتراضية لمعامل
name
كـ"Guest"
. إذا لم يتم تمرير قيمة عند استدعاء الدالة، سيتم استخدام القيمة الافتراضية.
4.2 دوال مع عدة معاملات ذات قيم افتراضية
function createUser(name = "Unknown", age = 18) {
console.log(`Name: ${name}, Age: ${age}`);
}
createUser(); // النتيجة: "Name: Unknown, Age: 18"
createUser("Ali"); // النتيجة: "Name: Ali, Age: 18"
createUser("Ali", 25); // النتيجة: "Name: Ali, Age: 25"
التفسير:
- تم تحديد قيم افتراضية لكل من
name
وage
. إذا لم يتم تمرير القيم عند استدعاء الدالة، سيتم استخدام القيم الافتراضية.
5. الدوال ذات القيم المرجعة الافتراضية
يمكن أن تكون الدوال مرجعية لقيم افتراضية، بمعنى أنه إذا لم يتم تمرير قيم للمعاملات، فإنها تقوم باستخدام القيم التي حددتها بشكل افتراضي.
5.1 مثال على دالة ذات قيمة مرجعية افتراضية
function multiply(a = 1, b = 1) {
return a * b;
}
console.log(multiply()); // النتيجة: 1 (استخدام القيم الافتراضية)
console.log(multiply(4, 5)); // النتيجة: 20
التفسير:
- الدالة
multiply
تستخدم القيم الافتراضية لمعاملاتهاa
وb
إذا لم يتم تمرير قيم عند استدعائها.
الخاتمة
في هذا الدرس، تعلمنا أساسيات الدوال (Functions) في JavaScript:
- تعريف الدوال باستخدام الكلمة المفتاحية
function
. - الدوال مع المعاملات والقيم المرجعة: يمكن للدالة قبول معاملات وإرجاع قيم.
- Arrow Functions (دوال السهم): دوال مختصرة تستخدم السهم
=>
وتُعد أكثر كفاءة في بعض الحالات. - الدوال ذات القيم الافتراضية للمعاملات: يمكن تحديد قيم افتراضية للمعاملات في حال عدم تمرير قيم عند استدعاء الدالة.
الدوال هي جزء أساسي من البرمجة لأنها تتيح لك تنظيم الكود وتقليل التكرار، مما يسهل الحفاظ على الكود وتطويره.
اكتشاف المزيد من كود التطور
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.