Home

عودة
SA
sarah تم النشر 2026-01-22

"ما هو الفرق الجوهري بين Arrow Functions و Regular Functions؟"

ahmedbouchefra

سؤال ممتاز! الفرق الأساسي يكمن في كيفية تعامل كل منهما مع this keyword.

في الدوال العادية (Regular Functions)، تتغير قيمة this بناءً على كيفية استدعاء الدالة:

function regular() {
  console.log(this); // يعتمد على من نادى الدالة
}

أما في Arrow Functions، فإن this تأخذ قيمتها من السياق المحيط وقت التعريف (Lexical Scope) ولا تتغير أبداً:

const arrow = () => {
  console.log(this); // يرث القيمة من الأب
}

لهذا السبب نستخدم الـ Arrow Functions كثيراً في React داخل الـ Callbacks لنتجنب مشاكل bind(this).

مصادر مفيدة: