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).
تعليقات
إرسال تعليق