✨ الدوال المتقدمة في JavaScript 🎉 أهلاً أبطال البرمجة! تذكرون لما تعلمنا الدوال (Functions) ؟ عرفنا إنها مثل آلة صغيرة تعطيها أوامر وتعيد لك نتيجة. اليوم، سنذ…

المؤلف آن بالعربي
تاريخ النشر
آخر تحديث

✨ الدوال المتقدمة في 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.
  • تعرفنا على الفرق بين الدوال العادية والدوال السهمية.
  • أنشأنا آلة حاسبة صغيرة ودوال ممتعة للأطفال.
  • الآن أنتم قادرون على بناء برامج أكثر قوة وذكاءً. 🌟

👏 رائع جداً! لقد أصبحتم خبراء في الدوال المتقدمة. في المرة القادمة سنتعلم شيئاً أكثر إثارة يجعل صفحاتنا تتفاعل معنا مباشرة! 🚀

تعليقات

عدد التعليقات : 0