المعاملات والقيم المرجعة في JavaScript: اجعل دوالك ذكية وتفاعلية

الدالة بدون مدخلات تشبه آلة بزر واحد. لكن عندما ترسل لها بيانات وتستقبل نتائج، تصبح فعلاً مفيدة في المشاريع. هنا نتعلم Parameters وReturn.

إذا كنت تبحث عن شرح parameters في JavaScript أو كيف أستخدم return أو الفرق بين parameter و argument، فهذا الدرس يشرحها بأمثلة كثيرة وواضحة.

ما هي Parameters في JavaScript؟

Parameters هي متغيرات تكتبها داخل تعريف الدالة لاستقبال القيم. عند استدعاء الدالة، ترسل القيم الفعلية (arguments) لهذه المعاملات.

قاعدة بسيطة: parameter = مكان فارغ داخل الدالة. argument = القيمة التي تملأ هذا المكان عند الاستدعاء.

1) مثال أساسي على Parameter واحد

function greet(name) {
  console.log('أهلاً يا ' + name);
}

greet('أحمد');
greet('سارة');

ماذا يفعل هذا الكود؟ نفس الدالة تعطي نتائج مختلفة حسب الاسم المرسل.

النتيجة المتوقعة: رسالة ترحيب مخصصة لكل اسم.

خطأ شائع: نسيان إرسال argument فيظهر undefined.

2) أكثر من Parameter

function fullName(firstName, lastName) {
  console.log(firstName + ' ' + lastName);
}

fullName('Rachid', 'Amrani');

ماذا يفعل هذا الكود؟ يستقبل قيمتين وينشئ اسماً كاملاً.

النتيجة المتوقعة: طباعة Rachid Amrani.

خطأ شائع: تبديل ترتيب arguments فتظهر نتيجة غير مقصودة.

3) قيمة افتراضية للـ Parameter

function greetUser(name = 'Guest') {
  console.log('Welcome ' + name);
}

greetUser();        // Welcome Guest
greetUser('Lina');  // Welcome Lina

ماذا يفعل هذا الكود؟ يعطي قيمة افتراضية إذا لم يتم إرسال argument.

النتيجة المتوقعة: الدالة تعمل حتى بدون مدخلات.

خطأ شائع: الاعتماد على undefined بدل وضع default واضح.

ما هي return في JavaScript؟

return تعيد قيمة من الدالة كي تستخدمها لاحقاً. بمجرد تنفيذ return، تتوقف الدالة فوراً.

4) مثال return بسيط

function double(number) {
  return number * 2;
}

let result = double(5);
console.log(result); // 10

ماذا يفعل هذا الكود؟ يحسب داخل الدالة ويعيد النتيجة بدل طباعتها مباشرة.

النتيجة المتوقعة: إمكانية استخدام النتيجة في متغيرات وعمليات أخرى.

خطأ شائع: استخدام console.log داخل الدالة عند الحاجة لقيمة return.

5) return مع شرط

function isAdult(age) {
  if (age >= 18) {
    return true;
  }
  return false;
}

console.log(isAdult(20)); // true
console.log(isAdult(15)); // false

ماذا يفعل هذا الكود؟ يعيد قيمة منطقية حسب الشرط.

النتيجة المتوقعة: دالة واضحة تصلح للاستعمال في if وغيرها.

خطأ شائع: نسيان return في أحد المسارات داخل الشرط.

Story قصيرة: لماذا ظهر undefined بدل النتيجة؟

مبتدئ كتب دالة تحسب السعر النهائي، لكنه نسي return. عند استدعاء الدالة، حصل على undefined. بعد إضافة return، أصبحت النتيجة قابلة للاستخدام في أي مكان.

النتيجة في المتصفح (Console concept)

function sum(a, b) {
  return a + b;
}

console.log(sum(3, 4)); // 7

Checklist سريعة قبل كتابة Function ذكية

  • هل الدالة تحتاج inputs؟ إذا نعم أضف parameters واضحة.
  • هل ترتيب arguments مهم؟ تأكد من الاستدعاء الصحيح.
  • هل تحتاج النتيجة خارج الدالة؟ استخدم return.
  • هل لديك default values عند غياب المدخلات؟
أفضل ممارسة: اجعل اسم الدالة يصف ما تعيده، مثل getTotal أو isValid، فهذا يسهّل قراءة الكود.

روابط المتابعة بعد هذا الدرس

الخطوة التالية مباشرة: مقدمة المصفوفات Arrays في JavaScript ثم الوصول لعناصر المصفوفة في JavaScript.

الأسئلة الشائعة — FAQ (أسئلة بحثية شائعة)

ما هي Parameters في JavaScript؟

هي متغيرات داخل تعريف الدالة تستقبل القيم القادمة عند الاستدعاء.

ما هي return في JavaScript؟

تعيد قيمة من الدالة وتتوقف الدالة عندها.

ما الفرق بين parameter و argument؟

parameter داخل تعريف الدالة، أما argument فهي القيمة الفعلية وقت الاستدعاء.

هل يمكن أن تعمل الدالة بدون arguments؟

نعم، خصوصاً إذا استخدمت default parameters.

متى أستخدم return بدلاً من console.log؟

استخدم return عندما تريد إعادة النتيجة لاستعمالها لاحقاً، لا مجرد عرضها.

للمتابعة مباشرة: ابدأ بدرس مقدمة المصفوفات Arrays في JavaScript ثم انتقل إلى الوصول لعناصر المصفوفة في JavaScript.

جرّب الآن: أنشئ دالة calcDiscount(price, percent) تعيد السعر بعد الخصم باستخدام return، ثم اختبرها على 3 أسعار مختلفة.
ممتاز! الآن دوالك أصبحت أكثر ذكاءً بفضل parameters وreturn. في الدرس القادم سنبدأ المصفوفات Arrays لتنظيم البيانات بشكل أقوى.
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن