جاري التحميل...

الدوال السهمية

تعرف الآن كيف تعلن دالة، وتمرّر وسائط، وترسل الناتج بـ return. كثير من المساعدات اليومية قصيرة، وكلمة function الكاملة تبدو ثقيلة. يوفر JavaScript شكلاً أقصر: الدالة السهمية بالرمز =>.

ماذا تعني الدالة السهمية

ما زالت دالة: تأخذ مدخلات، تنفّذ جسماً، ويمكنها إرجاع نتيجة. يتغيّر الشكل فقط. غالباً تخزّنها في const، تكتب المعاملات، ثم =>، ثم تعبيراً قصيراً أو كتلة { }.

بجانب الدالة التقليدية

📊 دالة تقليدية مقابل سهمية

فكرة الأسلوب التقليدي الأسلوب السهمي
مساعد مسمّى function add(a, b) { return a + b; } const add = (a, b) => a + b;
إرجاع تعبير واحد return a + b; داخل { } التعبير بعد => يُرجع وحده
عدة أوامر { } مع return نفس القاعدة: { } وreturn
معامل واحد (name) name => ... (الأقواس اختيارية)
بدون معاملات function hi() { ... } const hi = () => ... — () فارغة لازمة
مكان التعريف إعلان أو تعبير غالباً داخل متغير

كلا الأسلوبين يمكنه إرجاع أرقام ونصوص. فضّل السهم عندما يكون المساعد صغيراً وتريد اسماً واضحاً بـ const. فضّل function التقليدية عندما تريد كتلة مسمّاة بارزة — كلاهما صحيح.

جسم تعبيري (إرجاع تلقائي)

javascript
const double = (n) => n * 2;
let answer = double(5);
console.log(answer);

التعبير بعد السهم يُرجع وحده

إذا جاء بعد => تعبير واحد فقط، تُقيَّم قيمته وتُعاد تلقائياً — بلا { } وبلا كلمة return. هنا double(5) تصبح 10. غيّر الوسيط؛ يتبع الناتج.

جسم كتلي يحتاج return

javascript
const label = (score) => {
if (score < 0) {
return "invalid";
}
return "ok";
};
console.log(label(-1));
console.log(label(8));

الأقواس المعقوفة تعني أنك تتحكم بالإرجاع

عندما يستخدم الجسم { }، لا يُرجع JavaScript السطر الأخير تلقائياً. اكتب return بنفسك كما في الدالة التقليدية. هكذا تبقى المخارج المبكرة والمنطق متعدد الخطوات واضحة.

معامل واحد بلا أقواس

javascript
const greet = name => "Hello, " + name;
let line = greet("Sara");
console.log(line);

معامل واحد يمكنه إسقاط الأقواس

إن وُجد معامل واحد بالضبط، يمكنك كتابة name => ... دون ( ). موقع الاستدعاء لا يتغيّر: greet("Sara"). مع معاملين أو أكثر أبقِ الأقواس.

بدون معاملات تحتاج أقواساً فارغة

javascript
const hello = () => "Hello";
console.log(hello());

صفر معاملات ما زال يحتاج ()

بلا مدخلات اكتب أقواساً فارغة قبل =>. حذفها خطأ نحوي. الاستدعاء يبقى hello() — الزوج الفارغ يعني «لا معاملات».

تخزين واستدعاء وإعادة استخدام

javascript
const add = (a, b) => a + b;
let total = add(3, 4);
console.log(total);
console.log(add(10, 2));

سمِّها ثم استدعِها

const add = (a, b) => a + b يخزّن السهم تحت add. تستدعيه كأي دالة: add(3, 4) تُرجع 7. نفس المساعد، استدعاءان — بدون إعادة كتابة الجسم.

ضع سهماً في الصفحة

ابنِ نص ترحيب بسهم، استدعِه، واكتب الناتج في فقرة — نفس نمط الصفحة بشكل أقصر.

استدعاء في الصفحة بسهم

html
<!DOCTYPE html>
<html>
<head>
<title>arrow — page</title>
</head>
<body>
<p id="msg">…</p>
<script>
const welcome = guest => "Hello, " + guest;
let box = document.getElementById("msg");
box.textContent = welcome("Omar");
</script>
</body>
</html>

تظهر الفقرة Hello, Omar. أعاد السهم السلسلة؛ السطر التالي وضعها في الصفحة. غيّر الوسيط فقط، حدّث، واقرأ السطر الجديد. الدرس التالي عن النطاق — أين تظهر تلك الأسماء.

تمرين عملي

  1. أعد كتابة function triple(n) { return n * 3; } كسهم const بجسم تعبيري.
  2. اكتب const hi = name => "hi " + name واطبع hi("Neda").
  3. اكتب const ping = () => "pong" واستدعِه مرة.
  4. اكتب سهماً بجسم كتلي يُرجع "zero" عندما n === 0 وإلا "nonzero".
  5. بعد const add = (a, b) => a + b تأكد أن add(6, 1) يعطي 7.
  6. في مثال HTML غيّر سلسلة الوسيط فقط، حدّث، واقرأ الفقرة.

أخطاء شائعة

  • فتح { } بعد => ونسيان return — يصبح الاستدعاء undefined
  • حذف () عندما لا توجد أي معاملات
  • خلط => مع عوامل المقارنة — السهم نحو دالة وليس «أكبر من»
  • توقع درس كامل عن this هنا — فروق الربط لصفحة لاحقة؛ هذه الصفحة للشكل المختصر
  • الاعتقاد أن الأسهم تلغي معرفة return — التعبير ما زال يُرجع؛ الكتلة ما زالت تحتاج return

ملخص

  • الدوال السهمية تستخدم => وتُخزَّن غالباً في const
  • تعبير عارٍ بعد => يُرجع تلقائياً
  • جسم { } يحتاج return صريحاً
  • معامل واحد قد يحذف ( )؛ صفر معاملات يحتاج () فارغة
  • الاستدعاء بالاسم كأي دالة أخرى
  • تحديث الصفحة يمكنه استخدام سلسلة مُرجَعة من سهم
  • التالي: النطاق — أين تعيش الأسماء

🧠 اختبر معرفتك

جاهز للبدء

اختبر معرفتك

تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع

❓
8
الأسئلة
🎯
70%
للنجاح
♾️
∞
الوقت
🔄
∞
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى