JavaScript Arrow Functions
JavaScript Arrow Functions (توابع پیکانی) یکی از ویژگیهای مهم ES6 هستند که نوشتن توابع را کوتاهتر و خواناتر میکنند.
🔹 تعریف ساده
بهجای function از => استفاده میشود.
// تابع معمولی
function add(a, b) {
return a + b;
}
// Arrow Function
const add = (a, b) => a + b;
🔹 ساختار کلی
const functionName = (parameters) => {
// function body
};
🔹 حالتهای رایج
1️⃣ یک پارامتر (بدون پرانتز)
const square = x => x * x;
2️⃣ بدون پارامتر
const sayHello = () => “Hello!”;
3️⃣ چند خط کد (نیاز به return)
const multiply = (a, b) => {
const result = a * b;
return result;
};
🔹 تفاوت مهم با توابع معمولی (this)
Arrow Function مقدار this خودش را ندارد و از scope بالاتر میگیرد.
function Person() {
this.age = 0;
setInterval(() => {
this.age++; // به Person اشاره میکند
}, 1000);
}
❌ در توابع معمولی:
setInterval(function () {
this.age++; // this اشتباه است
}, 1000);
🔹 محدودیتها
Arrow Functions:
-
❌
thisندارند -
❌
argumentsندارند -
❌ نمیتوان با
newاز آنها استفاده کرد -
❌ برای متدهای object مناسب نیستند
const obj = {
name: “Ali”,
sayHi: () => {
console.log(this.name); // undefined
}
};
🔹 کاربردهای رایج
✔ callback ها
✔ map, filter, reduce
✔ کدهای کوتاه و تمیز
const numbers = [1, 2, 3];
const doubled = numbers.map(n => n * 2);
دیدگاهتان را بنویسید