نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
JS

منهج JavaScript

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج JavaScript/الدوال السهمية (Arrow Functions)

الدوال السهمية (Arrow Functions)

arrow functions javascriptالدوال السهمية جافاسكريبتthis في arrow functionالفرق بين function و arrow function

جدول مرجعي سريع

1
الخاصيةدالة عاديةدالة سهمية
الصيغةfunction(){}() => {}
thisديناميكي حسب الاستدعاءموروث من المحيط (Lexical)
argumentsمتوفرغير متوفر
الاستخدام كـ Constructorممكن مع newغير ممكن

الشرح

الدوال السهمية (Arrow Functions) هي صيغة مختصرة وحديثة لكتابة الدوال، أُضيفت في ES6، وتستخدم رمز => بدلاً من الكلمة المفتاحية function. ميزتها الأساسية هي الإيجاز — يمكن كتابة دالة كاملة في سطر واحد، خاصة عند استخدامها كدوال مصغّرة يتم تمريرها كوسائط لدوال أخرى مثل map أو filter.

إذا كانت الدالة تحتوي على تعبير واحد فقط تريد إعادته، يمكن حذف الأقواس المعقوفة {} وكلمة return تماماً — تُعيد جافاسكريبت القيمة ضمنياً. وإذا كان هناك معامل واحد فقط، يمكن حذف القوسين المحيطين به أيضاً، رغم أن كثيراً من المطورين يُفضّلون إبقاءهما لوضوح أكبر.

الفرق الجوهري والأهم بين الدوال السهمية والدوال العادية هو التعامل مع this. الدالة العادية تُنشئ سياق this خاصاً بها يعتمد على كيفية استدعائها، بينما الدالة السهمية لا تملك this خاصاً بها إطلاقاً — بل "ترث" قيمة this من السياق المحيط بها وقت تعريفها (Lexical this). هذا يجعلها مثالية داخل دوال Callback حيث تريد الحفاظ على this الخاص بالكائن الأب.

بسبب هذا السلوك في this، لا يُنصح باستخدام الدوال السهمية كدوال أساليب (Methods) داخل الكائنات أو الفئات (Classes) عندما تحتاج للوصول إلى this الخاص بالكائن نفسه، لأنها ستُشير لـ this الخارجي (غالباً undefined أو window) بدلاً من الكائن. كذلك لا تملك الدوال السهمية كائن arguments الخاص بها.

الصياغة (Syntax)

syntax
1// دالة عادية مقابل دالة سهمية
2function جمع_عادي(أ, ب) {
3 return أ + ب;
4}
5const جمع_سهمي = (أ, ب) => أ + ب;
6
7// معامل واحد بدون أقواس (اختياري)
8const مربع = رقم => رقم * رقم;
9
10// جسم متعدد الأسطر يحتاج {} و return
11const تفصيل = (أ, ب) => {
12 const ناتج = أ + ب;
13 return ناتج;
14};

أمثلة عملية

مثال 1: الدوال السهمية مع map و filter

الدوال السهمية مع map و filter
1// استخدام مثالي: تمرير كدالة مصغّرة
2const أرقام = [1, 2, 3, 4, 5];
3const مضاعفة = أرقام.map(رقم => رقم * 2);
4const زوجية = أرقام.filter(رقم => رقم % 2 === 0);
5console.log(مضاعفة); // [2, 4, 6, 8, 10]
6console.log(زوجية); // [2, 4]

مثال 2: سلوك this في الدوال السهمية

سلوك this في الدوال السهمية
1// الفرق في this بين الدالة العادية والسهمية
2const مؤقت = {
3 ثواني: 0,
4 ابدأ: function () {
5 setInterval(() => {
6 // السهمية ترث this من ابدأ، فتشير لـ مؤقت بنجاح
7 this.ثواني++;
8 console.log(this.ثواني);
9 }, 1000);
10 },
11};
12// لو استخدمنا function عادية بدل السهمية هنا، this كانت ستُشير لشيء آخر تماماً

نصائح احترافية

  • —الدالة السهمية لا تملك this خاصاً بها — بل ترث this من السياق المحيط وقت التعريف (Lexical Scope).
  • —لا تستخدم الدوال السهمية كأساليب (Methods) مباشرة داخل كائن يحتاج this للإشارة للكائن نفسه.
  • —الدوال السهمية أفضل خيار داخل دوال Callback مثل setTimeout وmap وaddEventListener عند الحاجة لـ this الخارجي.
  • —لا تملك الدوال السهمية كائن arguments — استخدم Rest Parameters (...args) بدلاً منه.

الدرس السابق

المعاملات والقيم المسترجعة

الدرس التالي

نطاق المتغيرات (Global vs Local Scope)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر