JS - Arrow Function الدوال السهمية

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

🔸 الدوال السهمية (Arrow Functions) هي طريقة مختصرة لتعريف الدوال في JavaScript، وتم تقديمها في ES6. توفر كتابة أكثر بساطة، لكنها تختلف قليلًا عن الدوال العادية من حيث التعامل مع this.

---

🔹 الصيغة الأساسية


// دالة عادية
function add(a, b) {
  return a + b;
}

// دالة سهمية
const add = (a, b) => {
  return a + b;
};
---

🔹 الصيغة المختصرة لدوال بسيطة

إذا كانت الدالة تحتوي على سطر واحد فقط وتُرجع قيمة، يمكن حذف الأقواس وreturn.


const multiply = (a, b) => a * b;
---

🔹 دالة بسهم بمعامل واحد


const greet = name => "مرحبًا " + name;

console.log(greet("Mahmoud")); // مرحبًا Mahmoud

📌 إذا كان هناك معامل واحد فقط، يمكن حذف الأقواس.

---

🔹 دالة بسهم بدون معاملات


const hello = () => "أهلاً!";
---

🔹 ملاحظة مهمة حول this

الدوال السهمية لا تملك this خاص بها، بل تأخذ this من السياق المحيط. لذلك لا تُستخدم غالبًا في الكائنات (objects) التي تعتمد على this الداخلي.


const person = {
  name: "Noor",
  greet: () => {
    console.log("Hello " + this.name); // undefined
  }
};
---

⚠️ ملاحظات ختامية

  • الدوال السهمية ممتازة للمهام البسيطة والتعامل مع callbacks.
  • لا يمكن استخدامها كدالة مُنشئة (constructor).
  • تأخذ this من السياق الذي كُتبت فيه (lexical this).

تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework