✨ الدوال المتقدمة في JavaScript
🎉 أهلاً أبطال البرمجة!
تذكرون لما تعلمنا الدوال (Functions)؟ عرفنا إنها مثل آلة صغيرة تعطيها أوامر وتعيد لك نتيجة. اليوم، سنذهب إلى مستوى أعلى ونستكشف الدوال المتقدمة! 🚀 هذه المعرفة ستجعلكم تصنعون برامج أكثر ذكاءً ومرونة.
🔑 أولاً: المعاملات (Parameters)
المعاملات هي مثل صناديق فارغة نرسلها إلى الدالة، وعندما تنفذ الدالة تستخدم ما بداخل الصندوق.
💡 مثال:
function sayHello(name) {
console.log("مرحباً " + name + " 👋");
}
sayHello("ليلى");
sayHello("علي");
هنا أنشأنا دالة اسمها sayHello
ولها معامل واحد هو name
.
عندما نمرر "ليلى" أو "علي"، تظهر رسالة مخصصة لكل شخص.
🔑 ثانياً: القيم الافتراضية (Default Parameters)
ماذا يحدث لو لم نرسل أي قيمة للمعامل؟ 🤔 هنا تأتي القيم الافتراضية، وهي مثل خطة بديلة. إذا لم ترسل قيمة، الدالة ستستخدم القيمة الافتراضية.
💡 مثال:
function greet(name = "صديقي") {
console.log("أهلاً " + name + " 😊");
}
greet("سارة"); // أهلاً سارة 😊
greet(); // أهلاً صديقي 😊
لاحظوا أن الدالة greet
استخدمت كلمة "صديقي" عندما لم نعطها أي اسم.
🔑 ثالثاً: الدوال التي تُرجع قيمة (Return)
حتى الآن كنا نطبع النتائج فقط. لكن ماذا لو أردنا أن تعيد الدالة قيمة نستخدمها
لاحقاً؟
هنا نستخدم الكلمة السحرية return
.
💡 مثال:
function add(a, b) {
return a + b;
}
let sum = add(5, 7);
console.log("المجموع هو: " + sum);
الدالة add
أعادت لنا مجموع الرقمين، ثم خزنا النتيجة في متغير
واستخدمناها كما نريد.
هذه خطوة قوية لأنها تجعل الدوال تنتج بيانات يمكننا إعادة استخدامها.
🔑 رابعاً: الفرق بين الدوال العادية و Arrow Functions
هناك طريقتان لكتابة الدوال في JavaScript:
- 🔹 الدوال العادية (Function Declaration)
- 🔹 الدوال السهمية (Arrow Functions)
💡 مثال: دالة عادية
function multiply(a, b) {
return a * b;
}
console.log(multiply(3, 4)); // 12
💡 مثال: دالة سهمية
const multiply = (a, b) => {
return a * b;
};
console.log(multiply(3, 4)); // 12
الدالتان تعطيان نفس النتيجة! لكن الدوال السهمية أقصر وأنيقة، خصوصاً عند كتابة دوال صغيرة.
🧮 آلة حاسبة صغيرة
لنصنع معاً آلة حاسبة بسيطة باستخدام الدوال المتقدمة.
💡 الكود:
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
function multiply(a, b) {
return a * b;
}
function divide(a, b = 1) {
return a / b;
}
console.log("5 + 3 = " + add(5, 3));
console.log("10 - 4 = " + subtract(10, 4));
console.log("6 × 2 = " + multiply(6, 2));
console.log("8 ÷ 2 = " + divide(8, 2));
لاحظوا أننا استخدمنا قيمة افتراضية في القسمة b = 1
حتى نتجنب القسمة
على الصفر. 👌
🎨 أمثلة ممتعة للأطفال
💡 دالة ترجع رسالة مخصصة
function makeMessage(name, age) {
return "مرحباً " + name + "! عمرك " + age + " سنة 🌟";
}
let msg1 = makeMessage("ليلى", 9);
let msg2 = makeMessage("علي", 10);
console.log(msg1);
console.log(msg2);
💡 دالة لزيادة النقاط
function addPoints(score, extra = 5) {
return score + extra;
}
let newScore = addPoints(80);
console.log("النقاط الجديدة: " + newScore);
🎯 تمرين عملي للأطفال
جربوا صنع دوالكم الخاصة:
- دالة تأخذ رقمين وتعيد أكبرهما.
- دالة تأخذ اسم لعبة وتعيد رسالة: "أنا أحب لعبة X".
- دالة سهمية تأخذ عمرك وتعيد: "سأكون عمري Y بعد سنة".
💡 مثال لحل التمرين الأول:
function maxNumber(a, b) {
if (a > b) {
return a;
} else {
return b;
}
}
console.log(maxNumber(7, 3)); // 7
💡 نصائح مهمة
- المعاملات تجعل الدوال أكثر مرونة.
- القيم الافتراضية تحمي الدالة عندما لا نرسل بيانات.
- كلمة
return
تسمح لنا باستخدام نتائج الدوال في أماكن أخرى. - الدوال السهمية طريقة أسرع وأبسط للكتابة.
- التجربة أهم وسيلة للتعلم: اكتب، غيّر، وأعد المحاولة! 🚀
💬 سؤال اليوم:
لو أردت صنع دالة اسمها doubleNumber
تضاعف أي رقم تعطيه لها،
هل ستكتبها بطريقة عادية أم سهمية؟ جرب الطريقتين! 😉
📌 خلاصة المقال:
- تعلمنا المعاملات والقيم الافتراضية.
- اكتشفنا الدوال التي ترجع قيم باستخدام
return
. - تعرفنا على الفرق بين الدوال العادية والدوال السهمية.
- أنشأنا آلة حاسبة صغيرة ودوال ممتعة للأطفال.
- الآن أنتم قادرون على بناء برامج أكثر قوة وذكاءً. 🌟
👏 رائع جداً! لقد أصبحتم خبراء في الدوال المتقدمة. في المرة القادمة سنتعلم شيئاً أكثر إثارة يجعل صفحاتنا تتفاعل معنا مباشرة! 🚀